Explorar el Código

try to use sqlite

shenjian Office PC hace 7 años
padre
commit
08fe61adb1
Se han modificado 57 ficheros con 2168 adiciones y 132 borrados
  1. 1 1
      Entity/Movie.cs
  2. 25 0
      PicSo/DBSugar/DBSugar.cs
  3. 74 0
      PicSo/DBSugar/MovieDBController.cs
  4. 144 123
      PicSo/Form1.Designer.cs
  5. 22 0
      PicSo/Form1.cs
  6. 41 0
      PicSo/PicSo.csproj
  7. 33 4
      PicSo/app.config
  8. 33 4
      PicSo/bin/Debug/PicSo.vshost.exe.config
  9. 10 0
      PicSo/packages.config
  10. 5 0
      packages/EntityFramework.6.0.0/Content/App.config.transform
  11. 5 0
      packages/EntityFramework.6.0.0/Content/Web.config.transform
  12. BIN
      packages/EntityFramework.6.0.0/EntityFramework.6.0.0.nupkg
  13. BIN
      packages/EntityFramework.6.0.0/tools/EntityFramework.PowerShell.Utility.dll
  14. BIN
      packages/EntityFramework.6.0.0/tools/EntityFramework.PowerShell.dll
  15. BIN
      packages/EntityFramework.6.0.0/tools/EntityFramework.psd1
  16. 1054 0
      packages/EntityFramework.6.0.0/tools/EntityFramework.psm1
  17. 48 0
      packages/EntityFramework.6.0.0/tools/about_EntityFramework.help.txt
  18. 154 0
      packages/EntityFramework.6.0.0/tools/init.ps1
  19. 153 0
      packages/EntityFramework.6.0.0/tools/install.ps1
  20. BIN
      packages/EntityFramework.6.0.0/tools/migrate.exe
  21. 20 0
      packages/Newtonsoft.Json.11.0.1/LICENSE.md
  22. BIN
      packages/Newtonsoft.Json.11.0.1/Newtonsoft.Json.11.0.1.nupkg
  23. BIN
      packages/System.Data.SQLite.1.0.107.0/System.Data.SQLite.1.0.107.0.nupkg
  24. BIN
      packages/System.Data.SQLite.Core.1.0.107.0/System.Data.SQLite.Core.1.0.107.0.nupkg
  25. BIN
      packages/System.Data.SQLite.EF6.1.0.107.0/System.Data.SQLite.EF6.1.0.107.0.nupkg
  26. 12 0
      packages/System.Data.SQLite.EF6.1.0.107.0/content/net40/app.config.install.xdt
  27. 11 0
      packages/System.Data.SQLite.EF6.1.0.107.0/content/net40/app.config.transform
  28. 12 0
      packages/System.Data.SQLite.EF6.1.0.107.0/content/net40/web.config.install.xdt
  29. 11 0
      packages/System.Data.SQLite.EF6.1.0.107.0/content/net40/web.config.transform
  30. 12 0
      packages/System.Data.SQLite.EF6.1.0.107.0/content/net45/app.config.install.xdt
  31. 11 0
      packages/System.Data.SQLite.EF6.1.0.107.0/content/net45/app.config.transform
  32. 12 0
      packages/System.Data.SQLite.EF6.1.0.107.0/content/net45/web.config.install.xdt
  33. 11 0
      packages/System.Data.SQLite.EF6.1.0.107.0/content/net45/web.config.transform
  34. 12 0
      packages/System.Data.SQLite.EF6.1.0.107.0/content/net451/app.config.install.xdt
  35. 11 0
      packages/System.Data.SQLite.EF6.1.0.107.0/content/net451/app.config.transform
  36. 12 0
      packages/System.Data.SQLite.EF6.1.0.107.0/content/net451/web.config.install.xdt
  37. 11 0
      packages/System.Data.SQLite.EF6.1.0.107.0/content/net451/web.config.transform
  38. 12 0
      packages/System.Data.SQLite.EF6.1.0.107.0/content/net46/app.config.install.xdt
  39. 11 0
      packages/System.Data.SQLite.EF6.1.0.107.0/content/net46/app.config.transform
  40. 12 0
      packages/System.Data.SQLite.EF6.1.0.107.0/content/net46/web.config.install.xdt
  41. 11 0
      packages/System.Data.SQLite.EF6.1.0.107.0/content/net46/web.config.transform
  42. 13 0
      packages/System.Data.SQLite.EF6.1.0.107.0/tools/net40/install.ps1
  43. 13 0
      packages/System.Data.SQLite.EF6.1.0.107.0/tools/net45/install.ps1
  44. 13 0
      packages/System.Data.SQLite.EF6.1.0.107.0/tools/net451/install.ps1
  45. 13 0
      packages/System.Data.SQLite.EF6.1.0.107.0/tools/net46/install.ps1
  46. BIN
      packages/System.Data.SQLite.Linq.1.0.107.0/System.Data.SQLite.Linq.1.0.107.0.nupkg
  47. 11 0
      packages/System.Data.SQLite.Linq.1.0.107.0/content/net20/app.config.transform
  48. 11 0
      packages/System.Data.SQLite.Linq.1.0.107.0/content/net20/web.config.transform
  49. 11 0
      packages/System.Data.SQLite.Linq.1.0.107.0/content/net40/app.config.transform
  50. 11 0
      packages/System.Data.SQLite.Linq.1.0.107.0/content/net40/web.config.transform
  51. 11 0
      packages/System.Data.SQLite.Linq.1.0.107.0/content/net45/app.config.transform
  52. 11 0
      packages/System.Data.SQLite.Linq.1.0.107.0/content/net45/web.config.transform
  53. 11 0
      packages/System.Data.SQLite.Linq.1.0.107.0/content/net451/app.config.transform
  54. 11 0
      packages/System.Data.SQLite.Linq.1.0.107.0/content/net451/web.config.transform
  55. 11 0
      packages/System.Data.SQLite.Linq.1.0.107.0/content/net46/app.config.transform
  56. 11 0
      packages/System.Data.SQLite.Linq.1.0.107.0/content/net46/web.config.transform
  57. BIN
      packages/sqlSugar.4.6.4.6/sqlSugar.4.6.4.6.nupkg

+ 1 - 1
Entity/Movie.cs

@@ -76,7 +76,7 @@ namespace AVSORTER
         public string ItemURL { get; set; }
         
         public bool Censored { get; set; }
-        public string VidesFile { get; set; }
+        public string VideosFile { get; set; }
 
 //        public override string ToString()
 //        {

+ 25 - 0
PicSo/DBSugar/DBSugar.cs

@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using SqlSugar;
+using AVSORTER;
+
+namespace PicSo.DBSugar
+{
+    class DBSugar
+    {
+        public DBSugar()
+        {
+            Db = new SqlSugar.SqlSugarClient(new ConnectionConfig()
+            {
+                ConnectionString = "DataSource="+AppDomain.CurrentDomain.BaseDirectory + "\\db\\jav.db",
+                DbType = DbType.Sqlite,
+                IsAutoCloseConnection = true
+            });
+            Db.MappingTables.Add("Movie", "Movies");
+        }
+        public SqlSugarClient Db;
+        public SimpleClient<Movie> MovieDb { get { return new SimpleClient<Movie>(Db); } }
+    }
+}

+ 74 - 0
PicSo/DBSugar/MovieDBController.cs

@@ -0,0 +1,74 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using AVSORTER;
+
+namespace PicSo.DBSugar
+{
+    class MovieDBController : DBSugar
+    {
+        public MovieDBController()
+        {
+            //List<Movie> list = Db.Queryable<Movie>().ToList();
+            //List<Movie> list2 = MovieDb.GetList();
+        }
+
+        public bool InsertMovie(Movie m)
+        {
+            return MovieDb.Insert(m);
+        }
+        public string ClearDB()
+        {
+
+            string dbFileName = AppDomain.CurrentDomain.BaseDirectory + "jav.db";
+            System.Data.SQLite.SQLiteConnection.CreateFile(dbFileName);
+
+            string connectString = @"Data Source=" + dbFileName;
+
+            System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection(connectString);
+
+            using (System.Data.SQLite.SQLiteCommand comm = new System.Data.SQLite.SQLiteCommand(conn))
+            {
+
+                conn.Open();
+                comm.CommandText = @"
+                CREATE TABLE Movies(
+                    ID INTEGER PRIMARY KEY   AUTOINCREMENT,
+                    Title               TEXT        NOT NULL,
+                    Actor               TEXT,
+                    CoverURL            TEXT,
+                    CoverFile           TEXT,
+                    Maker               TEXT,
+                    Lable               TEXT,
+                    Series              TEXT,
+                    Producer            TEXT,
+                    ReleaseDate         TEXT,
+                    Minutes             TEXT,
+                    AVCode              CHAR(16),
+                    Introduction        TEXT,
+                    ItemURL             TEXT,
+                    Censored            SMALLINT,
+                    VideosFile          TEXT
+                );";
+                comm.ExecuteNonQuery();
+
+                comm.CommandText = @"
+                CREATE TABLE Settings(
+                    ID INTEGER PRIMARY KEY   AUTOINCREMENT,
+                    DestPath            TEXT,
+                    SubPath             TEXT
+                );";
+
+
+                comm.ExecuteNonQuery();
+                conn.Close();
+            }
+
+            return "新的数据库文件已经产生,如果确实要清空,请将jav.db,移动到db文件夹中替换。此操作会清空本地数据";
+        }
+
+
+
+    }
+}

+ 144 - 123
PicSo/Form1.Designer.cs

@@ -48,7 +48,6 @@
             this.btn_removeItem = new System.Windows.Forms.Button();
             this.btn_paste_new = new System.Windows.Forms.Button();
             this.btn_MoveFile = new System.Windows.Forms.Button();
-            this.lbl_Path_preview = new System.Windows.Forms.Label();
             this.panel1 = new System.Windows.Forms.Panel();
             this.label1 = new System.Windows.Forms.Label();
             this.txt_Dest = new System.Windows.Forms.TextBox();
@@ -56,6 +55,15 @@
             this.label2 = new System.Windows.Forms.Label();
             this.txt_sub = new System.Windows.Forms.TextBox();
             this.cb_IsShowlog = new System.Windows.Forms.CheckBox();
+            this.panel3 = new System.Windows.Forms.Panel();
+            this.label9 = new System.Windows.Forms.Label();
+            this.label8 = new System.Windows.Forms.Label();
+            this.label7 = new System.Windows.Forms.Label();
+            this.label6 = new System.Windows.Forms.Label();
+            this.label5 = new System.Windows.Forms.Label();
+            this.label4 = new System.Windows.Forms.Label();
+            this.label3 = new System.Windows.Forms.Label();
+            this.lbl_Path_preview = new System.Windows.Forms.Label();
             this.tabControl1 = new System.Windows.Forms.TabControl();
             this.tabPage2 = new System.Windows.Forms.TabPage();
             this.listBox1 = new System.Windows.Forms.ListBox();
@@ -66,25 +74,18 @@
             this.cmenu_p4_item_copy = new System.Windows.Forms.ToolStripMenuItem();
             this.statusStrip1 = new System.Windows.Forms.StatusStrip();
             this.sl_Network = new System.Windows.Forms.ToolStripStatusLabel();
-            this.panel3 = new System.Windows.Forms.Panel();
-            this.label3 = new System.Windows.Forms.Label();
-            this.label4 = new System.Windows.Forms.Label();
-            this.label5 = new System.Windows.Forms.Label();
-            this.label6 = new System.Windows.Forms.Label();
-            this.label7 = new System.Windows.Forms.Label();
-            this.label8 = new System.Windows.Forms.Label();
-            this.label9 = new System.Windows.Forms.Label();
+            this.btn_saveDB = new System.Windows.Forms.Button();
             this.movieContainer1 = new PicSo.MovieContainer();
             this.contextMenuStrip1.SuspendLayout();
             this.tabPage1.SuspendLayout();
             this.tableLayoutPanel1.SuspendLayout();
             this.panel1.SuspendLayout();
             this.panel2.SuspendLayout();
+            this.panel3.SuspendLayout();
             this.tabControl1.SuspendLayout();
             this.tabPage2.SuspendLayout();
             this.cmenu_p4.SuspendLayout();
             this.statusStrip1.SuspendLayout();
-            this.panel3.SuspendLayout();
             this.SuspendLayout();
             // 
             // contextMenuStrip1
@@ -146,6 +147,7 @@
             this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
             this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
             this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
+            this.tableLayoutPanel1.Controls.Add(this.btn_saveDB, 6, 5);
             this.tableLayoutPanel1.Controls.Add(this.listView1, 0, 2);
             this.tableLayoutPanel1.Controls.Add(this.button1, 5, 0);
             this.tableLayoutPanel1.Controls.Add(this.btn_Clear, 4, 1);
@@ -171,6 +173,8 @@
             this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
             this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
             this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
+            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
             this.tableLayoutPanel1.Size = new System.Drawing.Size(917, 563);
             this.tableLayoutPanel1.TabIndex = 26;
             // 
@@ -322,18 +326,6 @@
             this.btn_MoveFile.UseVisualStyleBackColor = false;
             this.btn_MoveFile.Click += new System.EventHandler(this.btn_MoveFile_Click);
             // 
-            // lbl_Path_preview
-            // 
-            this.lbl_Path_preview.AutoSize = true;
-            this.tableLayoutPanel1.SetColumnSpan(this.lbl_Path_preview, 6);
-            this.lbl_Path_preview.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.lbl_Path_preview.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(60)))), ((int)(((byte)(61)))));
-            this.lbl_Path_preview.Location = new System.Drawing.Point(3, 528);
-            this.lbl_Path_preview.Name = "lbl_Path_preview";
-            this.lbl_Path_preview.Size = new System.Drawing.Size(164, 17);
-            this.lbl_Path_preview.TabIndex = 13;
-            this.lbl_Path_preview.Text = "【点列表条目预览目标路径】";
-            // 
             // panel1
             // 
             this.tableLayoutPanel1.SetColumnSpan(this.panel1, 4);
@@ -412,6 +404,117 @@
             this.cb_IsShowlog.Text = "完成后显示日志";
             this.cb_IsShowlog.UseVisualStyleBackColor = true;
             // 
+            // panel3
+            // 
+            this.tableLayoutPanel1.SetColumnSpan(this.panel3, 4);
+            this.panel3.Controls.Add(this.label9);
+            this.panel3.Controls.Add(this.label8);
+            this.panel3.Controls.Add(this.label7);
+            this.panel3.Controls.Add(this.label6);
+            this.panel3.Controls.Add(this.label5);
+            this.panel3.Controls.Add(this.label4);
+            this.panel3.Controls.Add(this.label3);
+            this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.panel3.Location = new System.Drawing.Point(3, 491);
+            this.panel3.Name = "panel3";
+            this.panel3.Size = new System.Drawing.Size(602, 14);
+            this.panel3.TabIndex = 28;
+            // 
+            // label9
+            // 
+            this.label9.AutoSize = true;
+            this.label9.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label9.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(60)))), ((int)(((byte)(61)))));
+            this.label9.Location = new System.Drawing.Point(0, 0);
+            this.label9.Name = "label9";
+            this.label9.Size = new System.Drawing.Size(87, 17);
+            this.label9.TabIndex = 20;
+            this.label9.Text = "双设计路径-->";
+            // 
+            // label8
+            // 
+            this.label8.AutoSize = true;
+            this.label8.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label8.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(60)))), ((int)(((byte)(61)))));
+            this.label8.Location = new System.Drawing.Point(403, 0);
+            this.label8.Name = "label8";
+            this.label8.Size = new System.Drawing.Size(44, 17);
+            this.label8.TabIndex = 19;
+            this.label8.Text = "制造商";
+            this.label8.DoubleClick += new System.EventHandler(this.label3_DoubleClick);
+            // 
+            // label7
+            // 
+            this.label7.AutoSize = true;
+            this.label7.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(60)))), ((int)(((byte)(61)))));
+            this.label7.Location = new System.Drawing.Point(341, 0);
+            this.label7.Name = "label7";
+            this.label7.Size = new System.Drawing.Size(32, 17);
+            this.label7.TabIndex = 18;
+            this.label7.Text = "标签";
+            this.label7.DoubleClick += new System.EventHandler(this.label3_DoubleClick);
+            // 
+            // label6
+            // 
+            this.label6.AutoSize = true;
+            this.label6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(60)))), ((int)(((byte)(61)))));
+            this.label6.Location = new System.Drawing.Point(279, 0);
+            this.label6.Name = "label6";
+            this.label6.Size = new System.Drawing.Size(32, 17);
+            this.label6.TabIndex = 17;
+            this.label6.Text = "厂商";
+            this.label6.DoubleClick += new System.EventHandler(this.label3_DoubleClick);
+            // 
+            // label5
+            // 
+            this.label5.AutoSize = true;
+            this.label5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(60)))), ((int)(((byte)(61)))));
+            this.label5.Location = new System.Drawing.Point(217, 0);
+            this.label5.Name = "label5";
+            this.label5.Size = new System.Drawing.Size(32, 17);
+            this.label5.TabIndex = 16;
+            this.label5.Text = "标题";
+            this.label5.DoubleClick += new System.EventHandler(this.label3_DoubleClick);
+            // 
+            // label4
+            // 
+            this.label4.AutoSize = true;
+            this.label4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(60)))), ((int)(((byte)(61)))));
+            this.label4.Location = new System.Drawing.Point(155, 0);
+            this.label4.Name = "label4";
+            this.label4.Size = new System.Drawing.Size(32, 17);
+            this.label4.TabIndex = 15;
+            this.label4.Text = "演员";
+            this.label4.DoubleClick += new System.EventHandler(this.label3_DoubleClick);
+            // 
+            // label3
+            // 
+            this.label3.AutoSize = true;
+            this.label3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(60)))), ((int)(((byte)(61)))));
+            this.label3.Location = new System.Drawing.Point(93, 0);
+            this.label3.Name = "label3";
+            this.label3.Size = new System.Drawing.Size(32, 17);
+            this.label3.TabIndex = 14;
+            this.label3.Text = "番号";
+            this.label3.DoubleClick += new System.EventHandler(this.label3_DoubleClick);
+            // 
+            // lbl_Path_preview
+            // 
+            this.lbl_Path_preview.AutoSize = true;
+            this.tableLayoutPanel1.SetColumnSpan(this.lbl_Path_preview, 6);
+            this.lbl_Path_preview.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lbl_Path_preview.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(60)))), ((int)(((byte)(61)))));
+            this.lbl_Path_preview.Location = new System.Drawing.Point(3, 528);
+            this.lbl_Path_preview.Name = "lbl_Path_preview";
+            this.lbl_Path_preview.Size = new System.Drawing.Size(164, 17);
+            this.lbl_Path_preview.TabIndex = 13;
+            this.lbl_Path_preview.Text = "【点列表条目预览目标路径】";
+            // 
             // tabControl1
             // 
             this.tabControl1.Controls.Add(this.tabPage1);
@@ -510,104 +613,21 @@
             this.sl_Network.Size = new System.Drawing.Size(68, 17);
             this.sl_Network.Text = "网络不可用";
             // 
-            // panel3
-            // 
-            this.tableLayoutPanel1.SetColumnSpan(this.panel3, 4);
-            this.panel3.Controls.Add(this.label9);
-            this.panel3.Controls.Add(this.label8);
-            this.panel3.Controls.Add(this.label7);
-            this.panel3.Controls.Add(this.label6);
-            this.panel3.Controls.Add(this.label5);
-            this.panel3.Controls.Add(this.label4);
-            this.panel3.Controls.Add(this.label3);
-            this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.panel3.Location = new System.Drawing.Point(3, 491);
-            this.panel3.Name = "panel3";
-            this.panel3.Size = new System.Drawing.Size(602, 14);
-            this.panel3.TabIndex = 28;
-            // 
-            // label3
-            // 
-            this.label3.AutoSize = true;
-            this.label3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(60)))), ((int)(((byte)(61)))));
-            this.label3.Location = new System.Drawing.Point(93, 0);
-            this.label3.Name = "label3";
-            this.label3.Size = new System.Drawing.Size(32, 17);
-            this.label3.TabIndex = 14;
-            this.label3.Text = "番号";
-            this.label3.DoubleClick += new System.EventHandler(this.label3_DoubleClick);
-            // 
-            // label4
-            // 
-            this.label4.AutoSize = true;
-            this.label4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(60)))), ((int)(((byte)(61)))));
-            this.label4.Location = new System.Drawing.Point(155, 0);
-            this.label4.Name = "label4";
-            this.label4.Size = new System.Drawing.Size(32, 17);
-            this.label4.TabIndex = 15;
-            this.label4.Text = "演员";
-            this.label4.DoubleClick += new System.EventHandler(this.label3_DoubleClick);
-            // 
-            // label5
-            // 
-            this.label5.AutoSize = true;
-            this.label5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(60)))), ((int)(((byte)(61)))));
-            this.label5.Location = new System.Drawing.Point(217, 0);
-            this.label5.Name = "label5";
-            this.label5.Size = new System.Drawing.Size(32, 17);
-            this.label5.TabIndex = 16;
-            this.label5.Text = "标题";
-            this.label5.DoubleClick += new System.EventHandler(this.label3_DoubleClick);
-            // 
-            // label6
-            // 
-            this.label6.AutoSize = true;
-            this.label6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(60)))), ((int)(((byte)(61)))));
-            this.label6.Location = new System.Drawing.Point(279, 0);
-            this.label6.Name = "label6";
-            this.label6.Size = new System.Drawing.Size(32, 17);
-            this.label6.TabIndex = 17;
-            this.label6.Text = "厂商";
-            this.label6.DoubleClick += new System.EventHandler(this.label3_DoubleClick);
-            // 
-            // label7
-            // 
-            this.label7.AutoSize = true;
-            this.label7.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(60)))), ((int)(((byte)(61)))));
-            this.label7.Location = new System.Drawing.Point(341, 0);
-            this.label7.Name = "label7";
-            this.label7.Size = new System.Drawing.Size(32, 17);
-            this.label7.TabIndex = 18;
-            this.label7.Text = "标签";
-            this.label7.DoubleClick += new System.EventHandler(this.label3_DoubleClick);
-            // 
-            // label8
-            // 
-            this.label8.AutoSize = true;
-            this.label8.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label8.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(60)))), ((int)(((byte)(61)))));
-            this.label8.Location = new System.Drawing.Point(403, 0);
-            this.label8.Name = "label8";
-            this.label8.Size = new System.Drawing.Size(44, 17);
-            this.label8.TabIndex = 19;
-            this.label8.Text = "制造商";
-            this.label8.DoubleClick += new System.EventHandler(this.label3_DoubleClick);
-            // 
-            // label9
-            // 
-            this.label9.AutoSize = true;
-            this.label9.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label9.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(60)))), ((int)(((byte)(61)))));
-            this.label9.Location = new System.Drawing.Point(0, 0);
-            this.label9.Name = "label9";
-            this.label9.Size = new System.Drawing.Size(87, 17);
-            this.label9.TabIndex = 20;
-            this.label9.Text = "双设计路径-->";
+            // btn_saveDB
+            // 
+            this.btn_saveDB.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(254)))), ((int)(((byte)(188)))), ((int)(((byte)(0)))));
+            this.btn_saveDB.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.btn_saveDB.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.btn_saveDB.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.btn_saveDB.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(60)))), ((int)(((byte)(61)))));
+            this.btn_saveDB.Location = new System.Drawing.Point(763, 491);
+            this.btn_saveDB.Name = "btn_saveDB";
+            this.tableLayoutPanel1.SetRowSpan(this.btn_saveDB, 2);
+            this.btn_saveDB.Size = new System.Drawing.Size(151, 34);
+            this.btn_saveDB.TabIndex = 29;
+            this.btn_saveDB.Text = "移动文件";
+            this.btn_saveDB.UseVisualStyleBackColor = false;
+            this.btn_saveDB.Click += new System.EventHandler(this.btn_saveDB_Click);
             // 
             // movieContainer1
             // 
@@ -618,7 +638,7 @@
             this.movieContainer1.Movie = null;
             this.movieContainer1.MovieList = null;
             this.movieContainer1.Name = "movieContainer1";
-            this.movieContainer1.Size = new System.Drawing.Size(911, 438);
+            this.movieContainer1.Size = new System.Drawing.Size(911, 588);
             this.movieContainer1.TabIndex = 5;
             // 
             // Form1
@@ -641,14 +661,14 @@
             this.panel1.PerformLayout();
             this.panel2.ResumeLayout(false);
             this.panel2.PerformLayout();
+            this.panel3.ResumeLayout(false);
+            this.panel3.PerformLayout();
             this.tabControl1.ResumeLayout(false);
             this.tabPage2.ResumeLayout(false);
             this.tabPage2.PerformLayout();
             this.cmenu_p4.ResumeLayout(false);
             this.statusStrip1.ResumeLayout(false);
             this.statusStrip1.PerformLayout();
-            this.panel3.ResumeLayout(false);
-            this.panel3.PerformLayout();
             this.ResumeLayout(false);
             this.PerformLayout();
 
@@ -701,6 +721,7 @@
         private System.Windows.Forms.Label label3;
         private System.Windows.Forms.Label label8;
         private System.Windows.Forms.Label label9;
+        private System.Windows.Forms.Button btn_saveDB;
     }
 }
 

+ 22 - 0
PicSo/Form1.cs

@@ -588,6 +588,28 @@ namespace PicSo
             txt_sub.AppendText((sender as Label).Text);
             txt_sub_Leave(null, null);
         }
+
+        private void btn_saveDB_Click(object sender, EventArgs e)
+        {
+            DBSugar.MovieDBController con = new DBSugar.MovieDBController();
+            MessageBox.Show(con.ClearDB());
+
+            insertInto();
+        }
+        void insertInto()
+        {
+            DBSugar.MovieDBController con = new DBSugar.MovieDBController();
+            foreach (ListViewItem item in listView1.Items)
+            {
+                var ra = (item.Tag as ResultArzon);
+                if (ra != null)
+                {
+                    con.MovieDb.Insert(ra.Movie);
+                }
+            }
+
+            MessageBox.Show("ok");
+        }
     }
 
 

+ 41 - 0
PicSo/PicSo.csproj

@@ -30,6 +30,8 @@
     <UseApplicationTrust>false</UseApplicationTrust>
     <PublishWizardCompleted>true</PublishWizardCompleted>
     <BootstrapperEnabled>true</BootstrapperEnabled>
+    <NuGetPackageImportStamp>
+    </NuGetPackageImportStamp>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
     <PlatformTarget>x86</PlatformTarget>
@@ -71,11 +73,40 @@
   <PropertyGroup />
   <PropertyGroup />
   <ItemGroup>
+    <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+      <HintPath>..\packages\EntityFramework.6.0.0\lib\net40\EntityFramework.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+      <HintPath>..\packages\EntityFramework.6.0.0\lib\net40\EntityFramework.SqlServer.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
     <Reference Include="HtmlAgilityPack">
       <HintPath>.\HtmlAgilityPack.dll</HintPath>
     </Reference>
+    <Reference Include="Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
+      <HintPath>..\packages\Newtonsoft.Json.11.0.1\lib\net40\Newtonsoft.Json.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="SqlSugar, Version=4.6.4.6, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\sqlSugar.4.6.4.6\lib\SqlSugar.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
     <Reference Include="System" />
+    <Reference Include="System.ComponentModel.DataAnnotations" />
     <Reference Include="System.Core" />
+    <Reference Include="System.Data.SQLite, Version=1.0.107.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Data.SQLite.Core.1.0.107.0\lib\net40\System.Data.SQLite.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="System.Data.SQLite.EF6, Version=1.0.107.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Data.SQLite.EF6.1.0.107.0\lib\net40\System.Data.SQLite.EF6.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="System.Data.SQLite.Linq, Version=1.0.107.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Data.SQLite.Linq.1.0.107.0\lib\net40\System.Data.SQLite.Linq.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
     <Reference Include="System.Xml.Linq" />
     <Reference Include="System.Data.DataSetExtensions" />
     <Reference Include="Microsoft.CSharp" />
@@ -98,6 +129,8 @@
     <Compile Include="BasicContainer.Designer.cs">
       <DependentUpon>BasicContainer.cs</DependentUpon>
     </Compile>
+    <Compile Include="DBSugar\DBSugar.cs" />
+    <Compile Include="DBSugar\MovieDBController.cs" />
     <Compile Include="Form1.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -146,6 +179,7 @@
       <DesignTime>True</DesignTime>
     </Compile>
     <None Include="app.config" />
+    <None Include="packages.config" />
     <None Include="Properties\Settings.settings">
       <Generator>SettingsSingleFileGenerator</Generator>
       <LastGenOutput>Settings.Designer.cs</LastGenOutput>
@@ -191,6 +225,13 @@
     </BootstrapperPackage>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <Import Project="..\packages\System.Data.SQLite.Core.1.0.107.0\build\net40\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.107.0\build\net40\System.Data.SQLite.Core.targets')" />
+  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+    <PropertyGroup>
+      <ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
+    </PropertyGroup>
+    <Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.107.0\build\net40\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.107.0\build\net40\System.Data.SQLite.Core.targets'))" />
+  </Target>
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
   <Target Name="BeforeBuild">

+ 33 - 4
PicSo/app.config

@@ -1,11 +1,40 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
+  <configSections>
+    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+  </configSections>
   <startup>
-    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
   </startup>
   <runtime>
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
-      <probing privatePath="bin;bin2\subbin;bin3"/>
+      <probing privatePath="bin;bin2\subbin;bin3" />
+      <dependentAssembly>
+        <assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-1.0.107.0" newVersion="1.0.107.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
+      </dependentAssembly>
     </assemblyBinding>
   </runtime>
-</configuration>
+  <entityFramework>
+    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
+      <parameters>
+        <parameter value="v13.0" />
+      </parameters>
+    </defaultConnectionFactory>
+    <providers>
+      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
+    </providers>
+  </entityFramework>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite.EF6" />
+      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
+    <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
+  </system.data>
+</configuration>

+ 33 - 4
PicSo/bin/Debug/PicSo.vshost.exe.config

@@ -1,11 +1,40 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
+  <configSections>
+    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+  </configSections>
   <startup>
-    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
   </startup>
   <runtime>
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
-      <probing privatePath="bin;bin2\subbin;bin3"/>
+      <probing privatePath="bin;bin2\subbin;bin3" />
+      <dependentAssembly>
+        <assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-1.0.107.0" newVersion="1.0.107.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
+      </dependentAssembly>
     </assemblyBinding>
   </runtime>
-</configuration>
+  <entityFramework>
+    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
+      <parameters>
+        <parameter value="v13.0" />
+      </parameters>
+    </defaultConnectionFactory>
+    <providers>
+      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
+    </providers>
+  </entityFramework>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite.EF6" />
+      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
+    <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
+  </system.data>
+</configuration>

+ 10 - 0
PicSo/packages.config

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="EntityFramework" version="6.0.0" targetFramework="net40" />
+  <package id="Newtonsoft.Json" version="11.0.1" targetFramework="net40" />
+  <package id="sqlSugar" version="4.6.4.6" targetFramework="net40" />
+  <package id="System.Data.SQLite" version="1.0.107.0" targetFramework="net40" />
+  <package id="System.Data.SQLite.Core" version="1.0.107.0" targetFramework="net40" />
+  <package id="System.Data.SQLite.EF6" version="1.0.107.0" targetFramework="net40" />
+  <package id="System.Data.SQLite.Linq" version="1.0.107.0" targetFramework="net40" />
+</packages>

+ 5 - 0
packages/EntityFramework.6.0.0/Content/App.config.transform

@@ -0,0 +1,5 @@
+<configuration>
+    <configSections>
+        <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+    </configSections>
+</configuration>

+ 5 - 0
packages/EntityFramework.6.0.0/Content/Web.config.transform

@@ -0,0 +1,5 @@
+<configuration>
+    <configSections>
+        <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+    </configSections>
+</configuration>

BIN
packages/EntityFramework.6.0.0/EntityFramework.6.0.0.nupkg


BIN
packages/EntityFramework.6.0.0/tools/EntityFramework.PowerShell.Utility.dll


BIN
packages/EntityFramework.6.0.0/tools/EntityFramework.PowerShell.dll


BIN
packages/EntityFramework.6.0.0/tools/EntityFramework.psd1


+ 1054 - 0
packages/EntityFramework.6.0.0/tools/EntityFramework.psm1

@@ -0,0 +1,1054 @@
+# Copyright (c) Microsoft Corporation.  All rights reserved.
+
+$InitialDatabase = '0'
+
+$knownExceptions = @(
+    'System.Data.Entity.Migrations.Infrastructure.MigrationsException',
+    'System.Data.Entity.Migrations.Infrastructure.AutomaticMigrationsDisabledException',
+    'System.Data.Entity.Migrations.Infrastructure.AutomaticDataLossException',
+    'System.Data.Entity.Migrations.Infrastructure.MigrationsPendingException',
+    'System.Data.Entity.Migrations.ProjectTypeNotSupportedException'
+)
+
+<#
+.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
+{
+    param (
+        [parameter(Position = 0,
+            Mandatory = $true)]
+        $Project,
+        [parameter(Position = 1,
+            Mandatory = $true)]
+        [string] $InvariantName,
+        [parameter(Position = 2,
+            Mandatory = $true)]
+        [string] $TypeName
+    )
+
+    Check-Project $project
+
+    $runner = New-EFConfigRunner $Project
+
+    try
+    {
+        Invoke-RunnerCommand $runner System.Data.Entity.ConnectionFactoryConfig.AddProviderCommand @( $InvariantName, $TypeName )
+        $error = Get-RunnerError $runner
+
+        if ($error)
+        {
+            if ($knownExceptions -notcontains $error.TypeName)
+            {
+                Write-Host $error.StackTrace
+            }
+            else
+            {
+                Write-Verbose $error.StackTrace
+            }
+
+            throw $error.Message
+        }
+    }
+    finally
+    {				
+        Remove-Runner $runner
+    }
+}
+
+<#
+.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
+{
+    param (
+        [parameter(Position = 0,
+            Mandatory = $true)]
+        $Project,
+        [parameter(Position = 1,
+            Mandatory = $true)]
+        [string] $TypeName,
+        [string[]] $ConstructorArguments
+    )
+
+    Check-Project $project
+
+    $runner = New-EFConfigRunner $Project
+
+    try
+    {
+        Invoke-RunnerCommand $runner System.Data.Entity.ConnectionFactoryConfig.AddDefaultConnectionFactoryCommand @( $TypeName, $ConstructorArguments )
+        $error = Get-RunnerError $runner
+
+        if ($error)
+        {
+            if ($knownExceptions -notcontains $error.TypeName)
+            {
+                Write-Host $error.StackTrace
+            }
+            else
+            {
+                Write-Verbose $error.StackTrace
+            }
+
+            throw $error.Message
+        }
+    }
+    finally
+    {				
+        Remove-Runner $runner
+    }
+}
+
+<#
+.SYNOPSIS
+    Initializes the Entity Framework section in the project config file
+    and sets defaults.
+
+.DESCRIPTION
+    Creates the 'entityFramework' section of the project config file and sets
+    the default connection factory to use SQL Express if it is running on the
+    machine, or LocalDb otherwise. Note that installing a different provider
+    may change the default connection factory.  The config file is
+    automatically saved if and only if a change was made.
+
+    In addition, any reference to 'System.Data.Entity.dll' in the project is
+    removed.
+    
+    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.
+#>
+function Initialize-EFConfiguration
+{
+    param (
+        [parameter(Position = 0,
+            Mandatory = $true)]
+        $Project
+    )
+
+    Check-Project $project
+
+    $runner = New-EFConfigRunner $Project
+
+    try
+    {
+        Invoke-RunnerCommand $runner System.Data.Entity.ConnectionFactoryConfig.InitializeEntityFrameworkCommand
+        $error = Get-RunnerError $runner
+
+        if ($error)
+        {
+            if ($knownExceptions -notcontains $error.TypeName)
+            {
+                Write-Host $error.StackTrace
+            }
+            else
+            {
+                Write-Verbose $error.StackTrace
+            }
+
+            throw $error.Message
+        }
+    }
+    finally
+    {				
+        Remove-Runner $runner
+    }
+}
+
+<#
+.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 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.
+#>
+function Enable-Migrations
+{
+    [CmdletBinding(DefaultParameterSetName = 'ConnectionStringName')] 
+    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
+    )
+
+    $runner = New-MigrationsRunner $ProjectName $StartUpProjectName $ContextProjectName $null $ConnectionStringName $ConnectionString $ConnectionProviderName
+
+    try
+    {
+        Invoke-RunnerCommand $runner System.Data.Entity.Migrations.EnableMigrationsCommand @( $EnableAutomaticMigrations.IsPresent, $Force.IsPresent ) @{ 'ContextTypeName' = $ContextTypeName; 'MigrationsDirectory' = $MigrationsDirectory }        		
+        $error = Get-RunnerError $runner					
+
+        if ($error)
+        {
+            if ($knownExceptions -notcontains $error.TypeName)
+            {
+                Write-Host $error.StackTrace
+            }
+            else
+            {
+                Write-Verbose $error.StackTrace
+            }
+
+            throw $error.Message
+        }
+
+        $(Get-VSComponentModel).GetService([NuGetConsole.IPowerConsoleWindow]).Show()	        
+    }
+    finally
+    {				
+        Remove-Runner $runner		
+    }
+}
+
+<#
+.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 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.
+
+#>
+function Add-Migration
+{
+    [CmdletBinding(DefaultParameterSetName = 'ConnectionStringName')]
+    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)
+
+    $runner = New-MigrationsRunner $ProjectName $StartUpProjectName $null $ConfigurationTypeName $ConnectionStringName $ConnectionString $ConnectionProviderName
+
+    try
+    {
+        Invoke-RunnerCommand $runner System.Data.Entity.Migrations.AddMigrationCommand @( $Name, $Force.IsPresent, $IgnoreChanges.IsPresent )
+        $error = Get-RunnerError $runner       		
+
+        if ($error)
+        {
+            if ($knownExceptions -notcontains $error.TypeName)
+            {
+                Write-Host $error.StackTrace
+            }
+            else
+            {
+                Write-Verbose $error.StackTrace
+            }
+
+            throw $error.Message
+        }		
+        $(Get-VSComponentModel).GetService([NuGetConsole.IPowerConsoleWindow]).Show()	        
+    }
+    finally
+    {			
+        Remove-Runner $runner		
+    }	
+}
+
+<#
+.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 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.
+#>
+function Update-Database
+{
+    [CmdletBinding(DefaultParameterSetName = 'ConnectionStringName')]
+    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)
+
+    $runner = New-MigrationsRunner $ProjectName $StartUpProjectName $null $ConfigurationTypeName $ConnectionStringName $ConnectionString $ConnectionProviderName
+
+    try
+    {
+        Invoke-RunnerCommand $runner System.Data.Entity.Migrations.UpdateDatabaseCommand @( $SourceMigration, $TargetMigration, $Script.IsPresent, $Force.IsPresent, $Verbose.IsPresent )
+        $error = Get-RunnerError $runner
+        
+        if ($error)
+        {
+            if ($knownExceptions -notcontains $error.TypeName)
+            {
+                Write-Host $error.StackTrace
+            }
+            else
+            {
+                Write-Verbose $error.StackTrace
+            }
+
+            throw $error.Message
+        }		
+        $(Get-VSComponentModel).GetService([NuGetConsole.IPowerConsoleWindow]).Show()	        
+    }
+    finally
+    {		     
+        Remove-Runner $runner
+    }
+}
+
+<#
+.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 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.
+#>
+function Get-Migrations
+{
+    [CmdletBinding(DefaultParameterSetName = 'ConnectionStringName')]
+    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)
+
+    $runner = New-MigrationsRunner $ProjectName $StartUpProjectName $null $ConfigurationTypeName $ConnectionStringName $ConnectionString $ConnectionProviderName
+
+    try
+    {
+        Invoke-RunnerCommand $runner System.Data.Entity.Migrations.GetMigrationsCommand
+        $error = Get-RunnerError $runner
+        
+        if ($error)
+        {
+            if ($knownExceptions -notcontains $error.TypeName)
+            {
+                Write-Host $error.StackTrace
+            }
+            else
+            {
+                Write-Verbose $error.StackTrace
+            }
+
+            throw $error.Message
+        }
+    }
+    finally
+    {
+        Remove-Runner $runner
+    }
+}
+
+function New-MigrationsRunner($ProjectName, $StartUpProjectName, $ContextProjectName, $ConfigurationTypeName, $ConnectionStringName, $ConnectionString, $ConnectionProviderName)
+{
+    $startUpProject = Get-MigrationsStartUpProject $StartUpProjectName $ProjectName
+    Build-Project $startUpProject
+
+    $project = Get-MigrationsProject $ProjectName
+    Build-Project $project
+
+    $contextProject = $project
+    if ($ContextProjectName)
+    {
+        $contextProject = Get-SingleProject $ContextProjectName
+        Build-Project $contextProject
+    }
+
+    $installPath = Get-EntityFrameworkInstallPath $project
+    $toolsPath = Join-Path $installPath tools
+
+    $info = New-AppDomainSetup $project $installPath
+
+    $domain = [AppDomain]::CreateDomain('Migrations', $null, $info)
+    $domain.SetData('project', $project)
+    $domain.SetData('contextProject', $contextProject)
+    $domain.SetData('startUpProject', $startUpProject)
+    $domain.SetData('configurationTypeName', $ConfigurationTypeName)
+    $domain.SetData('connectionStringName', $ConnectionStringName)
+    $domain.SetData('connectionString', $ConnectionString)
+    $domain.SetData('connectionProviderName', $ConnectionProviderName)
+    
+    $dispatcher = New-DomainDispatcher $toolsPath
+    $domain.SetData('efDispatcher', $dispatcher)
+
+    return @{
+        Domain = $domain;
+        ToolsPath = $toolsPath
+    }
+}
+
+function New-EFConfigRunner($Project)
+{
+    $installPath = Get-EntityFrameworkInstallPath $Project
+    $toolsPath = Join-Path $installPath tools
+    $info = New-AppDomainSetup $Project $installPath
+
+    $domain = [AppDomain]::CreateDomain('EFConfig', $null, $info)
+    $domain.SetData('project', $Project)
+    
+    $dispatcher = New-DomainDispatcher $toolsPath
+    $domain.SetData('efDispatcher', $dispatcher)
+
+    return @{
+        Domain = $domain;
+        ToolsPath = $toolsPath
+    }
+}
+
+function New-AppDomainSetup($Project, $InstallPath)
+{
+    $info = New-Object System.AppDomainSetup -Property @{
+            ShadowCopyFiles = 'true';
+            ApplicationBase = $InstallPath;
+            PrivateBinPath = 'tools';
+            ConfigurationFile = ([AppDomain]::CurrentDomain.SetupInformation.ConfigurationFile)
+        }
+    
+    $targetFrameworkVersion = (New-Object System.Runtime.Versioning.FrameworkName ($Project.Properties.Item('TargetFrameworkMoniker').Value)).Version
+
+    if ($targetFrameworkVersion -lt (New-Object Version @( 4, 5 )))
+    {
+        $info.PrivateBinPath += ';lib\net40'
+    }
+    else
+    {
+        $info.PrivateBinPath += ';lib\net45'
+    }
+
+    return $info
+}
+
+function New-DomainDispatcher($ToolsPath)
+{
+    $utilityAssembly = [System.Reflection.Assembly]::LoadFrom((Join-Path $ToolsPath EntityFramework.PowerShell.Utility.dll))
+    $dispatcher = $utilityAssembly.CreateInstance(
+        'System.Data.Entity.Migrations.Utilities.DomainDispatcher',
+        $false,
+        [System.Reflection.BindingFlags]::Instance -bor [System.Reflection.BindingFlags]::Public,
+        $null,
+        $PSCmdlet,
+        $null,
+        $null)
+
+    return $dispatcher
+}
+
+function Remove-Runner($runner)
+{
+    [AppDomain]::Unload($runner.Domain)
+}
+
+function Invoke-RunnerCommand($runner, $command, $parameters, $anonymousArguments)
+{
+    $domain = $runner.Domain
+
+    if ($anonymousArguments)
+    {
+        $anonymousArguments.GetEnumerator() | %{
+            $domain.SetData($_.Name, $_.Value)
+        }
+    }
+
+    $domain.CreateInstanceFrom(
+        (Join-Path $runner.ToolsPath EntityFramework.PowerShell.dll),
+        $command,
+        $false,
+        0,
+        $null,
+        $parameters,
+        $null,
+        $null) | Out-Null
+}
+
+function Get-RunnerError($runner)
+{
+    $domain = $runner.Domain
+
+    if (!$domain.GetData('wasError'))
+    {
+        return $null
+    }
+
+    return @{
+            Message = $domain.GetData('error.Message');
+            TypeName = $domain.GetData('error.TypeName');
+            StackTrace = $domain.GetData('error.StackTrace')
+    }
+}
+
+function Get-MigrationsProject($name, $hideMessage)
+{
+    if ($name)
+    {
+        return Get-SingleProject $name
+    }
+
+    $project = Get-Project
+    $projectName = $project.Name
+
+    if (!$hideMessage)
+    {
+        Write-Verbose "Using NuGet project '$projectName'."
+    }
+
+    return $project
+}
+
+function Get-MigrationsStartUpProject($name, $fallbackName)
+{    
+    $startUpProject = $null
+
+    if ($name)
+    {
+        $startUpProject = Get-SingleProject $name
+    }
+    else
+    {
+        $startupProjectPaths = $DTE.Solution.SolutionBuild.StartupProjects
+
+        if ($startupProjectPaths)
+        {
+            if ($startupProjectPaths.Length -eq 1)
+            {
+                $startupProjectPath = $startupProjectPaths[0]
+
+                if (!(Split-Path -IsAbsolute $startupProjectPath))
+                {
+                    $solutionPath = Split-Path $DTE.Solution.Properties.Item('Path').Value
+                    $startupProjectPath = Join-Path $solutionPath $startupProjectPath -Resolve
+                }
+
+                $startupProject = Get-SolutionProjects | ?{
+                    try
+                    {
+                        $fullName = $_.FullName
+                    }
+                    catch [NotImplementedException]
+                    {
+                        return $false
+                    }
+
+                    if ($fullName -and $fullName.EndsWith('\'))
+                    {
+                        $fullName = $fullName.Substring(0, $fullName.Length - 1)
+                    }
+
+                    return $fullName -eq $startupProjectPath
+                }
+            }
+            else
+            {
+                Write-Verbose 'More than one start-up project found.'
+            }
+        }
+        else
+        {
+            Write-Verbose 'No start-up project found.'
+        }
+    }
+
+    if (!($startUpProject -and (Test-StartUpProject $startUpProject)))
+    {
+        $startUpProject = Get-MigrationsProject $fallbackName $true
+        $startUpProjectName = $startUpProject.Name
+
+        Write-Warning "Cannot determine a valid start-up project. Using project '$startUpProjectName' instead. Your configuration file and working directory may not be set as expected. Use the -StartUpProjectName parameter to set one explicitly. Use the -Verbose switch for more information."
+    }
+    else
+    {
+        $startUpProjectName = $startUpProject.Name
+
+        Write-Verbose "Using StartUp project '$startUpProjectName'."
+    }
+
+    return $startUpProject
+}
+
+function Get-SolutionProjects()
+{
+    $projects = New-Object System.Collections.Stack
+    
+    $DTE.Solution.Projects | %{
+        $projects.Push($_)
+    }
+    
+    while ($projects.Count -ne 0)
+    {
+        $project = $projects.Pop();
+        
+        # NOTE: This line is similar to doing a "yield return" in C#
+        $project
+
+        if ($project.ProjectItems)
+        {
+            $project.ProjectItems | ?{ $_.SubProject } | %{
+                $projects.Push($_.SubProject)
+            }
+        }
+    }
+}
+
+function Get-SingleProject($name)
+{
+    $project = Get-Project $name
+
+    if ($project -is [array])
+    {
+        throw "More than one project '$name' was found. Specify the full name of the one to use."
+    }
+
+    return $project
+}
+
+function Test-StartUpProject($project)
+{    
+    if ($project.Kind -eq '{cc5fd16d-436d-48ad-a40c-5a424c6e3e79}')
+    {
+        $projectName = $project.Name
+        Write-Verbose "Cannot use start-up project '$projectName'. The Windows Azure Project type isn't supported."
+        
+        return $false
+    }
+    
+    return $true
+}
+
+function Build-Project($project)
+{
+    $configuration = $DTE.Solution.SolutionBuild.ActiveConfiguration.Name
+
+    $DTE.Solution.SolutionBuild.BuildProject($configuration, $project.UniqueName, $true)
+
+    if ($DTE.Solution.SolutionBuild.LastBuildInfo)
+    {
+        $projectName = $project.Name
+
+        throw "The project '$projectName' failed to build."
+    }
+}
+
+function Get-EntityFrameworkInstallPath($project)
+{
+    $package = Get-Package -ProjectName $project.FullName | ?{ $_.Id -eq 'EntityFramework' }
+
+    if (!$package)
+    {
+        $projectName = $project.Name
+
+        throw "The EntityFramework package is not installed on project '$projectName'."
+    }
+    
+    return Get-PackageInstallPath $package
+}
+    
+function Get-PackageInstallPath($package)
+{
+    $componentModel = Get-VsComponentModel
+    $packageInstallerServices = $componentModel.GetService([NuGet.VisualStudio.IVsPackageInstallerServices])
+
+    $vsPackage = $packageInstallerServices.GetInstalledPackages() | ?{ $_.Id -eq $package.Id -and $_.Version -eq $package.Version }
+    
+    return $vsPackage.InstallPath
+}
+
+function Check-Project($project)
+{
+    if (!$project.FullName)
+    {
+        throw "The Project argument must refer to a Visual Studio project. Use the '`$project' variable provided by NuGet when running in install.ps1."
+    }
+}
+
+Export-ModuleMember @( 'Enable-Migrations', 'Add-Migration', 'Update-Database', 'Get-Migrations', 'Add-EFProvider', 'Add-EFDefaultConnectionFactory', 'Initialize-EFConfiguration') -Variable InitialDatabase
+
+# SIG # Begin signature block
+# MIIarwYJKoZIhvcNAQcCoIIaoDCCGpwCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
+# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
+# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUGD2nrGYv22CsZ8TVTLPYVoMj
+# HJGgghWCMIIEwzCCA6ugAwIBAgITMwAAACs5MkjBsslI8wAAAAAAKzANBgkqhkiG
+# 9w0BAQUFADB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
+# A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEw
+# HwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EwHhcNMTIwOTA0MjExMjM0
+# WhcNMTMxMjA0MjExMjM0WjCBszELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp
+# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
+# b3JhdGlvbjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNO
+# OkMwRjQtMzA4Ni1ERUY4MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT
+# ZXJ2aWNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAprYwDgNlrlBa
+# hmuFn0ihHsnA7l5JB4XgcJZ8vrlfYl8GJtOLObsYIqUukq3YS4g6Gq+bg67IXjmM
+# wjJ7FnjtNzg68WL7aIICaOzru0CKsf6hLDZiYHA5YGIO+8YYOG+wktZADYCmDXiL
+# NmuGiiYXGP+w6026uykT5lxIjnBGNib+NDWrNOH32thc6pl9MbdNH1frfNaVDWYM
+# Hg4yFz4s1YChzuv3mJEC3MFf/TiA+Dl/XWTKN1w7UVtdhV/OHhz7NL5f5ShVcFSc
+# uOx8AFVGWyiYKFZM4fG6CRmWgUgqMMj3MyBs52nDs9TDTs8wHjfUmFLUqSNFsq5c
+# QUlPtGJokwIDAQABo4IBCTCCAQUwHQYDVR0OBBYEFKUYM1M/lWChQxbvjsav0iu6
+# nljQMB8GA1UdIwQYMBaAFCM0+NlSRnAK7UD7dvuzK7DDNbMPMFQGA1UdHwRNMEsw
+# SaBHoEWGQ2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3Rz
+# L01pY3Jvc29mdFRpbWVTdGFtcFBDQS5jcmwwWAYIKwYBBQUHAQEETDBKMEgGCCsG
+# AQUFBzAChjxodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jv
+# c29mdFRpbWVTdGFtcFBDQS5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZI
+# hvcNAQEFBQADggEBAH7MsHvlL77nVrXPc9uqUtEWOca0zfrX/h5ltedI85tGiAVm
+# aiaGXv6HWNzGY444gPQIRnwrc7EOv0Gqy8eqlKQ38GQ54cXV+c4HzqvkJfBprtRG
+# 4v5mMjzXl8UyIfruGiWgXgxCLBEzOoKD/e0ds77OkaSRJXG5q3Kwnq/kzwBiiXCp
+# uEpQjO4vImSlqOZNa5UsHHnsp6Mx2pBgkKRu/pMCDT8sJA3GaiaBUYNKELt1Y0Sq
+# aQjGA+vizwvtVjrs73KnCgz0ANMiuK8icrPnxJwLKKCAyuPh1zlmMOdGFxjn+oL6
+# WQt6vKgN/hz/A4tjsk0SAiNPLbOFhDvioUfozxUwggTsMIID1KADAgECAhMzAAAA
+# sBGvCovQO5/dAAEAAACwMA0GCSqGSIb3DQEBBQUAMHkxCzAJBgNVBAYTAlVTMRMw
+# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
+# aWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNp
+# Z25pbmcgUENBMB4XDTEzMDEyNDIyMzMzOVoXDTE0MDQyNDIyMzMzOVowgYMxCzAJ
+# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
+# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDTALBgNVBAsTBE1PUFIx
+# HjAcBgNVBAMTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjCCASIwDQYJKoZIhvcNAQEB
+# BQADggEPADCCAQoCggEBAOivXKIgDfgofLwFe3+t7ut2rChTPzrbQH2zjjPmVz+l
+# URU0VKXPtIupP6g34S1Q7TUWTu9NetsTdoiwLPBZXKnr4dcpdeQbhSeb8/gtnkE2
+# KwtA+747urlcdZMWUkvKM8U3sPPrfqj1QRVcCGUdITfwLLoiCxCxEJ13IoWEfE+5
+# G5Cw9aP+i/QMmk6g9ckKIeKq4wE2R/0vgmqBA/WpNdyUV537S9QOgts4jxL+49Z6
+# dIhk4WLEJS4qrp0YHw4etsKvJLQOULzeHJNcSaZ5tbbbzvlweygBhLgqKc+/qQUF
+# 4eAPcU39rVwjgynrx8VKyOgnhNN+xkMLlQAFsU9lccUCAwEAAaOCAWAwggFcMBMG
+# A1UdJQQMMAoGCCsGAQUFBwMDMB0GA1UdDgQWBBRZcaZaM03amAeA/4Qevof5cjJB
+# 8jBRBgNVHREESjBIpEYwRDENMAsGA1UECxMETU9QUjEzMDEGA1UEBRMqMzE1OTUr
+# NGZhZjBiNzEtYWQzNy00YWEzLWE2NzEtNzZiYzA1MjM0NGFkMB8GA1UdIwQYMBaA
+# FMsR6MrStBZYAck3LjMWFrlMmgofMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9j
+# cmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY0NvZFNpZ1BDQV8w
+# OC0zMS0yMDEwLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6
+# Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljQ29kU2lnUENBXzA4LTMx
+# LTIwMTAuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQAx124qElczgdWdxuv5OtRETQie
+# 7l7falu3ec8CnLx2aJ6QoZwLw3+ijPFNupU5+w3g4Zv0XSQPG42IFTp8263Os8ls
+# ujksRX0kEVQmMA0N/0fqAwfl5GZdLHudHakQ+hywdPJPaWueqSSE2u2WoN9zpO9q
+# GqxLYp7xfMAUf0jNTbJE+fA8k21C2Oh85hegm2hoCSj5ApfvEQO6Z1Ktwemzc6bS
+# Y81K4j7k8079/6HguwITO10g3lU/o66QQDE4dSheBKlGbeb1enlAvR/N6EXVruJd
+# PvV1x+ZmY2DM1ZqEh40kMPfvNNBjHbFCZ0oOS786Du+2lTqnOOQlkgimiGaCMIIF
+# vDCCA6SgAwIBAgIKYTMmGgAAAAAAMTANBgkqhkiG9w0BAQUFADBfMRMwEQYKCZIm
+# iZPyLGQBGRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQD
+# EyRNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMTAwODMx
+# MjIxOTMyWhcNMjAwODMxMjIyOTMyWjB5MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
+# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
+# IENvcnBvcmF0aW9uMSMwIQYDVQQDExpNaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBD
+# QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJyWVwZMGS/HZpgICBC
+# mXZTbD4b1m/My/Hqa/6XFhDg3zp0gxq3L6Ay7P/ewkJOI9VyANs1VwqJyq4gSfTw
+# aKxNS42lvXlLcZtHB9r9Jd+ddYjPqnNEf9eB2/O98jakyVxF3K+tPeAoaJcap6Vy
+# c1bxF5Tk/TWUcqDWdl8ed0WDhTgW0HNbBbpnUo2lsmkv2hkL/pJ0KeJ2L1TdFDBZ
+# +NKNYv3LyV9GMVC5JxPkQDDPcikQKCLHN049oDI9kM2hOAaFXE5WgigqBTK3S9dP
+# Y+fSLWLxRT3nrAgA9kahntFbjCZT6HqqSvJGzzc8OJ60d1ylF56NyxGPVjzBrAlf
+# A9MCAwEAAaOCAV4wggFaMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMsR6MrS
+# tBZYAck3LjMWFrlMmgofMAsGA1UdDwQEAwIBhjASBgkrBgEEAYI3FQEEBQIDAQAB
+# MCMGCSsGAQQBgjcVAgQWBBT90TFO0yaKleGYYDuoMW+mPLzYLTAZBgkrBgEEAYI3
+# FAIEDB4KAFMAdQBiAEMAQTAfBgNVHSMEGDAWgBQOrIJgQFYnl+UlE/wq4QpTlVnk
+# pDBQBgNVHR8ESTBHMEWgQ6BBhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtp
+# L2NybC9wcm9kdWN0cy9taWNyb3NvZnRyb290Y2VydC5jcmwwVAYIKwYBBQUHAQEE
+# SDBGMEQGCCsGAQUFBzAChjhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2Nl
+# cnRzL01pY3Jvc29mdFJvb3RDZXJ0LmNydDANBgkqhkiG9w0BAQUFAAOCAgEAWTk+
+# fyZGr+tvQLEytWrrDi9uqEn361917Uw7LddDrQv+y+ktMaMjzHxQmIAhXaw9L0y6
+# oqhWnONwu7i0+Hm1SXL3PupBf8rhDBdpy6WcIC36C1DEVs0t40rSvHDnqA2iA6VW
+# 4LiKS1fylUKc8fPv7uOGHzQ8uFaa8FMjhSqkghyT4pQHHfLiTviMocroE6WRTsgb
+# 0o9ylSpxbZsa+BzwU9ZnzCL/XB3Nooy9J7J5Y1ZEolHN+emjWFbdmwJFRC9f9Nqu
+# 1IIybvyklRPk62nnqaIsvsgrEA5ljpnb9aL6EiYJZTiU8XofSrvR4Vbo0HiWGFzJ
+# NRZf3ZMdSY4tvq00RBzuEBUaAF3dNVshzpjHCe6FDoxPbQ4TTj18KUicctHzbMrB
+# 7HCjV5JXfZSNoBtIA1r3z6NnCnSlNu0tLxfI5nI3EvRvsTxngvlSso0zFmUeDord
+# EN5k9G/ORtTTF+l5xAS00/ss3x+KnqwK+xMnQK3k+eGpf0a7B2BHZWBATrBC7E7t
+# s3Z52Ao0CW0cgDEf4g5U3eWh++VHEK1kmP9QFi58vwUheuKVQSdpw5OPlcmN2Jsh
+# rg1cnPCiroZogwxqLbt2awAdlq3yFnv2FoMkuYjPaqhHMS+a3ONxPdcAfmJH0c6I
+# ybgY+g5yjcGjPa8CQGr/aZuW4hCoELQ3UAjWwz0wggYHMIID76ADAgECAgphFmg0
+# AAAAAAAcMA0GCSqGSIb3DQEBBQUAMF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAX
+# BgoJkiaJk/IsZAEZFgltaWNyb3NvZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290
+# IENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0wNzA0MDMxMjUzMDlaFw0yMTA0MDMx
+# MzAzMDlaMHcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
+# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xITAf
+# BgNVBAMTGE1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQTCCASIwDQYJKoZIhvcNAQEB
+# BQADggEPADCCAQoCggEBAJ+hbLHf20iSKnxrLhnhveLjxZlRI1Ctzt0YTiQP7tGn
+# 0UytdDAgEesH1VSVFUmUG0KSrphcMCbaAGvoe73siQcP9w4EmPCJzB/LMySHnfL0
+# Zxws/HvniB3q506jocEjU8qN+kXPCdBer9CwQgSi+aZsk2fXKNxGU7CG0OUoRi4n
+# rIZPVVIM5AMs+2qQkDBuh/NZMJ36ftaXs+ghl3740hPzCLdTbVK0RZCfSABKR2YR
+# JylmqJfk0waBSqL5hKcRRxQJgp+E7VV4/gGaHVAIhQAQMEbtt94jRrvELVSfrx54
+# QTF3zJvfO4OToWECtR0Nsfz3m7IBziJLVP/5BcPCIAsCAwEAAaOCAaswggGnMA8G
+# A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFCM0+NlSRnAK7UD7dvuzK7DDNbMPMAsG
+# A1UdDwQEAwIBhjAQBgkrBgEEAYI3FQEEAwIBADCBmAYDVR0jBIGQMIGNgBQOrIJg
+# QFYnl+UlE/wq4QpTlVnkpKFjpGEwXzETMBEGCgmSJomT8ixkARkWA2NvbTEZMBcG
+# CgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWljcm9zb2Z0IFJvb3Qg
+# Q2VydGlmaWNhdGUgQXV0aG9yaXR5ghB5rRahSqClrUxzWPQHEy5lMFAGA1UdHwRJ
+# MEcwRaBDoEGGP2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1
+# Y3RzL21pY3Jvc29mdHJvb3RjZXJ0LmNybDBUBggrBgEFBQcBAQRIMEYwRAYIKwYB
+# BQUHMAKGOGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljcm9z
+# b2Z0Um9vdENlcnQuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0GCSqGSIb3DQEB
+# BQUAA4ICAQAQl4rDXANENt3ptK132855UU0BsS50cVttDBOrzr57j7gu1BKijG1i
+# uFcCy04gE1CZ3XpA4le7r1iaHOEdAYasu3jyi9DsOwHu4r6PCgXIjUji8FMV3U+r
+# kuTnjWrVgMHmlPIGL4UD6ZEqJCJw+/b85HiZLg33B+JwvBhOnY5rCnKVuKE5nGct
+# xVEO6mJcPxaYiyA/4gcaMvnMMUp2MT0rcgvI6nA9/4UKE9/CCmGO8Ne4F+tOi3/F
+# NSteo7/rvH0LQnvUU3Ih7jDKu3hlXFsBFwoUDtLaFJj1PLlmWLMtL+f5hYbMUVbo
+# nXCUbKw5TNT2eb+qGHpiKe+imyk0BncaYsk9Hm0fgvALxyy7z0Oz5fnsfbXjpKh0
+# NbhOxXEjEiZ2CzxSjHFaRkMUvLOzsE1nyJ9C/4B5IYCeFTBm6EISXhrIniIh0EPp
+# K+m79EjMLNTYMoBMJipIJF9a6lbvpt6Znco6b72BJ3QGEe52Ib+bgsEnVLaxaj2J
+# oXZhtG6hE6a/qkfwEm/9ijJssv7fUciMI8lmvZ0dhxJkAj0tr1mPuOQh5bWwymO0
+# eFQF1EEuUKyUsKV4q7OglnUa2ZKHE3UiLzKoCG6gW4wlv6DvhMoh1useT8ma7kng
+# 9wFlb4kLfchpyOZu6qeXzjEp/w7FW1zYTRuh2Povnj8uVRZryROj/TGCBJcwggST
+# AgEBMIGQMHkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
+# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAh
+# BgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBAhMzAAAAsBGvCovQO5/d
+# AAEAAACwMAkGBSsOAwIaBQCggbAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw
+# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFHlP
+# wIpDUAGAnbgDrTywRVvTXuBEMFAGCisGAQQBgjcCAQwxQjBAoCKAIABFAG4AdABp
+# AHQAeQAgAEYAcgBhAG0AZQB3AG8AcgBroRqAGGh0dHA6Ly9tc2RuLmNvbS9kYXRh
+# L2VmIDANBgkqhkiG9w0BAQEFAASCAQBGhre2E1qw0m8EQgJBaVLi6CgwVn7+qSCY
+# WqIIcygRNohB5i3zj61/qTEa4DZLc0F3hvGC6aNwwjUbnoU4nZoqOSQgta2DaVul
+# uhm7Y+BTZsXvYY9q26UjgUbo1jdBrWelIbu+3YV+pE00UVuV0RabWkEdFBr9HeOV
+# nZYczzdVvnYkkkFxO25SVHZWT2nyWhYxMYv+HLoUBND1BmZzNYWnJqegL4BrczNm
+# exycbGbRVEO45QOJEK+3vA4o6GKPk09wcFEmkvlncGKTz4fGhYWf5ELykT0TSQuL
+# vP1PN35OUNzlpqc2FuWCDosVl8FUhphYXpiw/1sUnI5nPG8aGiUboYICKDCCAiQG
+# CSqGSIb3DQEJBjGCAhUwggIRAgEBMIGOMHcxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
+# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv
+# ZnQgQ29ycG9yYXRpb24xITAfBgNVBAMTGE1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD
+# QQITMwAAACs5MkjBsslI8wAAAAAAKzAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkD
+# MQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTMwOTExMTYwNDU5WjAjBgkq
+# hkiG9w0BCQQxFgQU0jwg1lgVl4Ydsz+7YfTew/L6w9EwDQYJKoZIhvcNAQEFBQAE
+# ggEAT5kurkrFiaB7YVAWU7VrrXF4Pr9kGEnSMBr0VEfztrVGNOLsdyZYk12tRYnj
+# 6MB0x1bajZMYXCj+0Z8oTzaG+JXASkNNIm4uWP1t6TsfixCw9Sr4p4cQUaIXwYj6
+# AN+tmLT82knMkW8Q/8lcc8BzfL45pjXonMNCJm3QOUwQ3SqXKgEMTsKLULFvUmsm
+# dlwbdl2nlNdNyF5t8NkQZX5NPkpXJ9gdz34XSXPADxBiuE1haiV8ckyfhBIgiq2A
+# CM2eGdggysiSVJcQGJ/GzsAsRC89FQQeqcKisHrFz7UOL8oX8ZxJ/7CWHPQUmk/t
+# gRpD2K2HFoKdbJziPMLEhoQ5yQ==
+# SIG # End signature block

+ 48 - 0
packages/EntityFramework.6.0.0/tools/about_EntityFramework.help.txt

@@ -0,0 +1,48 @@
+TOPIC
+    about_EntityFramework
+
+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.
+
+        Initialize-EFConfiguration      Initializes the Entity Framework
+                                        section in the project config file and
+                                        sets defaults.
+
+SEE ALSO
+    Enable-Migrations
+    Add-Migration
+    Update-Database
+    Get-Migrations

+ 154 - 0
packages/EntityFramework.6.0.0/tools/init.ps1

@@ -0,0 +1,154 @@
+param($installPath, $toolsPath, $package, $project)
+
+if (Get-Module | ?{ $_.Name -eq 'EntityFramework' })
+{
+    Remove-Module EntityFramework
+}
+
+Import-Module (Join-Path $toolsPath EntityFramework.psd1)
+
+# SIG # Begin signature block
+# MIIarwYJKoZIhvcNAQcCoIIaoDCCGpwCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
+# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
+# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUjXj4E03IfImYfKMB4CA3DfY0
+# KZmgghWCMIIEwzCCA6ugAwIBAgITMwAAADPlJ4ajDkoqgAAAAAAAMzANBgkqhkiG
+# 9w0BAQUFADB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
+# A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEw
+# HwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EwHhcNMTMwMzI3MjAwODIz
+# WhcNMTQwNjI3MjAwODIzWjCBszELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp
+# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
+# b3JhdGlvbjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNO
+# OkY1MjgtMzc3Ny04QTc2MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT
+# ZXJ2aWNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyt7KGQ8fllaC
+# X9hCMtQIbbadwMLtfDirWDOta4FQuIghCl2vly2QWsfDLrJM1GN0WP3fxYlU0AvM
+# /ZyEEXmsoyEibTPgrt4lQEWSTg1jCCuLN91PB2rcKs8QWo9XXZ09+hdjAsZwPrsi
+# 7Vux9zK65HG8ef/4y+lXP3R75vJ9fFdYL6zSDqjZiNlAHzoiQeIJJgKgzOUlzoxn
+# g99G+IVNw9pmHsdzfju0dhempaCgdFWo5WAYQWI4x2VGqwQWZlbq+abLQs9dVGQv
+# gfjPOAAPEGvhgy6NPkjsSVZK7Jpp9MsPEPsHNEpibAGNbscghMpc0WOZHo5d7A+l
+# Fkiqa94hLwIDAQABo4IBCTCCAQUwHQYDVR0OBBYEFABYGz7txfEGk74xPTa0rAtd
+# MvCBMB8GA1UdIwQYMBaAFCM0+NlSRnAK7UD7dvuzK7DDNbMPMFQGA1UdHwRNMEsw
+# SaBHoEWGQ2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3Rz
+# L01pY3Jvc29mdFRpbWVTdGFtcFBDQS5jcmwwWAYIKwYBBQUHAQEETDBKMEgGCCsG
+# AQUFBzAChjxodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jv
+# c29mdFRpbWVTdGFtcFBDQS5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZI
+# hvcNAQEFBQADggEBAAL/44wD6u9+OLm5fJ87UoOk+iM41AO4alm16uBviAP0b1Fq
+# lTp1hegc3AfFTp0bqM4kRxQkTzV3sZy8J3uPXU/8BouXl/kpm/dAHVKBjnZIA37y
+# mxe3rtlbIpFjOzJfNfvGkTzM7w6ZgD4GkTgTegxMvjPbv+2tQcZ8GyR8E9wK/EuK
+# IAUdCYmROQdOIU7ebHxwu6vxII74mHhg3IuUz2W+lpAPoJyE7Vy1fEGgYS29Q2dl
+# GiqC1KeKWfcy46PnxY2yIruSKNiwjFOPaEdHodgBsPFhFcQXoS3jOmxPb6897t4p
+# sETLw5JnugDOD44R79ECgjFJlJidUUh4rR3WQLYwggTsMIID1KADAgECAhMzAAAA
+# sBGvCovQO5/dAAEAAACwMA0GCSqGSIb3DQEBBQUAMHkxCzAJBgNVBAYTAlVTMRMw
+# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
+# aWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNp
+# Z25pbmcgUENBMB4XDTEzMDEyNDIyMzMzOVoXDTE0MDQyNDIyMzMzOVowgYMxCzAJ
+# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
+# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDTALBgNVBAsTBE1PUFIx
+# HjAcBgNVBAMTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjCCASIwDQYJKoZIhvcNAQEB
+# BQADggEPADCCAQoCggEBAOivXKIgDfgofLwFe3+t7ut2rChTPzrbQH2zjjPmVz+l
+# URU0VKXPtIupP6g34S1Q7TUWTu9NetsTdoiwLPBZXKnr4dcpdeQbhSeb8/gtnkE2
+# KwtA+747urlcdZMWUkvKM8U3sPPrfqj1QRVcCGUdITfwLLoiCxCxEJ13IoWEfE+5
+# G5Cw9aP+i/QMmk6g9ckKIeKq4wE2R/0vgmqBA/WpNdyUV537S9QOgts4jxL+49Z6
+# dIhk4WLEJS4qrp0YHw4etsKvJLQOULzeHJNcSaZ5tbbbzvlweygBhLgqKc+/qQUF
+# 4eAPcU39rVwjgynrx8VKyOgnhNN+xkMLlQAFsU9lccUCAwEAAaOCAWAwggFcMBMG
+# A1UdJQQMMAoGCCsGAQUFBwMDMB0GA1UdDgQWBBRZcaZaM03amAeA/4Qevof5cjJB
+# 8jBRBgNVHREESjBIpEYwRDENMAsGA1UECxMETU9QUjEzMDEGA1UEBRMqMzE1OTUr
+# NGZhZjBiNzEtYWQzNy00YWEzLWE2NzEtNzZiYzA1MjM0NGFkMB8GA1UdIwQYMBaA
+# FMsR6MrStBZYAck3LjMWFrlMmgofMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9j
+# cmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY0NvZFNpZ1BDQV8w
+# OC0zMS0yMDEwLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6
+# Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljQ29kU2lnUENBXzA4LTMx
+# LTIwMTAuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQAx124qElczgdWdxuv5OtRETQie
+# 7l7falu3ec8CnLx2aJ6QoZwLw3+ijPFNupU5+w3g4Zv0XSQPG42IFTp8263Os8ls
+# ujksRX0kEVQmMA0N/0fqAwfl5GZdLHudHakQ+hywdPJPaWueqSSE2u2WoN9zpO9q
+# GqxLYp7xfMAUf0jNTbJE+fA8k21C2Oh85hegm2hoCSj5ApfvEQO6Z1Ktwemzc6bS
+# Y81K4j7k8079/6HguwITO10g3lU/o66QQDE4dSheBKlGbeb1enlAvR/N6EXVruJd
+# PvV1x+ZmY2DM1ZqEh40kMPfvNNBjHbFCZ0oOS786Du+2lTqnOOQlkgimiGaCMIIF
+# vDCCA6SgAwIBAgIKYTMmGgAAAAAAMTANBgkqhkiG9w0BAQUFADBfMRMwEQYKCZIm
+# iZPyLGQBGRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQD
+# EyRNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMTAwODMx
+# MjIxOTMyWhcNMjAwODMxMjIyOTMyWjB5MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
+# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
+# IENvcnBvcmF0aW9uMSMwIQYDVQQDExpNaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBD
+# QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJyWVwZMGS/HZpgICBC
+# mXZTbD4b1m/My/Hqa/6XFhDg3zp0gxq3L6Ay7P/ewkJOI9VyANs1VwqJyq4gSfTw
+# aKxNS42lvXlLcZtHB9r9Jd+ddYjPqnNEf9eB2/O98jakyVxF3K+tPeAoaJcap6Vy
+# c1bxF5Tk/TWUcqDWdl8ed0WDhTgW0HNbBbpnUo2lsmkv2hkL/pJ0KeJ2L1TdFDBZ
+# +NKNYv3LyV9GMVC5JxPkQDDPcikQKCLHN049oDI9kM2hOAaFXE5WgigqBTK3S9dP
+# Y+fSLWLxRT3nrAgA9kahntFbjCZT6HqqSvJGzzc8OJ60d1ylF56NyxGPVjzBrAlf
+# A9MCAwEAAaOCAV4wggFaMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMsR6MrS
+# tBZYAck3LjMWFrlMmgofMAsGA1UdDwQEAwIBhjASBgkrBgEEAYI3FQEEBQIDAQAB
+# MCMGCSsGAQQBgjcVAgQWBBT90TFO0yaKleGYYDuoMW+mPLzYLTAZBgkrBgEEAYI3
+# FAIEDB4KAFMAdQBiAEMAQTAfBgNVHSMEGDAWgBQOrIJgQFYnl+UlE/wq4QpTlVnk
+# pDBQBgNVHR8ESTBHMEWgQ6BBhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtp
+# L2NybC9wcm9kdWN0cy9taWNyb3NvZnRyb290Y2VydC5jcmwwVAYIKwYBBQUHAQEE
+# SDBGMEQGCCsGAQUFBzAChjhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2Nl
+# cnRzL01pY3Jvc29mdFJvb3RDZXJ0LmNydDANBgkqhkiG9w0BAQUFAAOCAgEAWTk+
+# fyZGr+tvQLEytWrrDi9uqEn361917Uw7LddDrQv+y+ktMaMjzHxQmIAhXaw9L0y6
+# oqhWnONwu7i0+Hm1SXL3PupBf8rhDBdpy6WcIC36C1DEVs0t40rSvHDnqA2iA6VW
+# 4LiKS1fylUKc8fPv7uOGHzQ8uFaa8FMjhSqkghyT4pQHHfLiTviMocroE6WRTsgb
+# 0o9ylSpxbZsa+BzwU9ZnzCL/XB3Nooy9J7J5Y1ZEolHN+emjWFbdmwJFRC9f9Nqu
+# 1IIybvyklRPk62nnqaIsvsgrEA5ljpnb9aL6EiYJZTiU8XofSrvR4Vbo0HiWGFzJ
+# NRZf3ZMdSY4tvq00RBzuEBUaAF3dNVshzpjHCe6FDoxPbQ4TTj18KUicctHzbMrB
+# 7HCjV5JXfZSNoBtIA1r3z6NnCnSlNu0tLxfI5nI3EvRvsTxngvlSso0zFmUeDord
+# EN5k9G/ORtTTF+l5xAS00/ss3x+KnqwK+xMnQK3k+eGpf0a7B2BHZWBATrBC7E7t
+# s3Z52Ao0CW0cgDEf4g5U3eWh++VHEK1kmP9QFi58vwUheuKVQSdpw5OPlcmN2Jsh
+# rg1cnPCiroZogwxqLbt2awAdlq3yFnv2FoMkuYjPaqhHMS+a3ONxPdcAfmJH0c6I
+# ybgY+g5yjcGjPa8CQGr/aZuW4hCoELQ3UAjWwz0wggYHMIID76ADAgECAgphFmg0
+# AAAAAAAcMA0GCSqGSIb3DQEBBQUAMF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAX
+# BgoJkiaJk/IsZAEZFgltaWNyb3NvZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290
+# IENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0wNzA0MDMxMjUzMDlaFw0yMTA0MDMx
+# MzAzMDlaMHcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
+# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xITAf
+# BgNVBAMTGE1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQTCCASIwDQYJKoZIhvcNAQEB
+# BQADggEPADCCAQoCggEBAJ+hbLHf20iSKnxrLhnhveLjxZlRI1Ctzt0YTiQP7tGn
+# 0UytdDAgEesH1VSVFUmUG0KSrphcMCbaAGvoe73siQcP9w4EmPCJzB/LMySHnfL0
+# Zxws/HvniB3q506jocEjU8qN+kXPCdBer9CwQgSi+aZsk2fXKNxGU7CG0OUoRi4n
+# rIZPVVIM5AMs+2qQkDBuh/NZMJ36ftaXs+ghl3740hPzCLdTbVK0RZCfSABKR2YR
+# JylmqJfk0waBSqL5hKcRRxQJgp+E7VV4/gGaHVAIhQAQMEbtt94jRrvELVSfrx54
+# QTF3zJvfO4OToWECtR0Nsfz3m7IBziJLVP/5BcPCIAsCAwEAAaOCAaswggGnMA8G
+# A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFCM0+NlSRnAK7UD7dvuzK7DDNbMPMAsG
+# A1UdDwQEAwIBhjAQBgkrBgEEAYI3FQEEAwIBADCBmAYDVR0jBIGQMIGNgBQOrIJg
+# QFYnl+UlE/wq4QpTlVnkpKFjpGEwXzETMBEGCgmSJomT8ixkARkWA2NvbTEZMBcG
+# CgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWljcm9zb2Z0IFJvb3Qg
+# Q2VydGlmaWNhdGUgQXV0aG9yaXR5ghB5rRahSqClrUxzWPQHEy5lMFAGA1UdHwRJ
+# MEcwRaBDoEGGP2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1
+# Y3RzL21pY3Jvc29mdHJvb3RjZXJ0LmNybDBUBggrBgEFBQcBAQRIMEYwRAYIKwYB
+# BQUHMAKGOGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljcm9z
+# b2Z0Um9vdENlcnQuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0GCSqGSIb3DQEB
+# BQUAA4ICAQAQl4rDXANENt3ptK132855UU0BsS50cVttDBOrzr57j7gu1BKijG1i
+# uFcCy04gE1CZ3XpA4le7r1iaHOEdAYasu3jyi9DsOwHu4r6PCgXIjUji8FMV3U+r
+# kuTnjWrVgMHmlPIGL4UD6ZEqJCJw+/b85HiZLg33B+JwvBhOnY5rCnKVuKE5nGct
+# xVEO6mJcPxaYiyA/4gcaMvnMMUp2MT0rcgvI6nA9/4UKE9/CCmGO8Ne4F+tOi3/F
+# NSteo7/rvH0LQnvUU3Ih7jDKu3hlXFsBFwoUDtLaFJj1PLlmWLMtL+f5hYbMUVbo
+# nXCUbKw5TNT2eb+qGHpiKe+imyk0BncaYsk9Hm0fgvALxyy7z0Oz5fnsfbXjpKh0
+# NbhOxXEjEiZ2CzxSjHFaRkMUvLOzsE1nyJ9C/4B5IYCeFTBm6EISXhrIniIh0EPp
+# K+m79EjMLNTYMoBMJipIJF9a6lbvpt6Znco6b72BJ3QGEe52Ib+bgsEnVLaxaj2J
+# oXZhtG6hE6a/qkfwEm/9ijJssv7fUciMI8lmvZ0dhxJkAj0tr1mPuOQh5bWwymO0
+# eFQF1EEuUKyUsKV4q7OglnUa2ZKHE3UiLzKoCG6gW4wlv6DvhMoh1useT8ma7kng
+# 9wFlb4kLfchpyOZu6qeXzjEp/w7FW1zYTRuh2Povnj8uVRZryROj/TGCBJcwggST
+# AgEBMIGQMHkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
+# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAh
+# BgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBAhMzAAAAsBGvCovQO5/d
+# AAEAAACwMAkGBSsOAwIaBQCggbAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw
+# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFOrT
+# ZEbL6mMRie0QxeNrtIXxNuY6MFAGCisGAQQBgjcCAQwxQjBAoCKAIABFAG4AdABp
+# AHQAeQAgAEYAcgBhAG0AZQB3AG8AcgBroRqAGGh0dHA6Ly9tc2RuLmNvbS9kYXRh
+# L2VmIDANBgkqhkiG9w0BAQEFAASCAQAp46rF491ax2xI+ywddNCS8k+nfEHapr0P
+# /5psYf8iQn+QOp8boRjDaP3AVdnbf+ZHAhkqc+/1RoEI6FbfLqPECRFKAdMip3vR
+# cHC/CcTsCTrJzn9/seSsoVFO+6zY4K8VNtlGD4cQNXkOy+2WAdvXlyiUi4qKC7tr
+# XyF6KsbdhqXynrfRHkPUTMm1KakaH571roCd40WQrNh5Sec4m1ndOoY6pR2y3c/d
+# EyTV/T3IhH0i8AsQxFOhDnxFNDWPKY83my2mZCWiW9XTMykCqNsBcQ2iAIb3oIx7
+# A7iLTvyDiVYrYfzVcJmJGqSZjAkHiKj02uIA/mWNyblckled8XzJoYICKDCCAiQG
+# CSqGSIb3DQEJBjGCAhUwggIRAgEBMIGOMHcxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
+# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv
+# ZnQgQ29ycG9yYXRpb24xITAfBgNVBAMTGE1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD
+# QQITMwAAADPlJ4ajDkoqgAAAAAAAMzAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkD
+# MQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTMwOTExMTYwNDU5WjAjBgkq
+# hkiG9w0BCQQxFgQUmKcMuWdwUtNtz9/a4twIEFV7cyAwDQYJKoZIhvcNAQEFBQAE
+# ggEAGeJnAW3s1vuo0R4gs/yNDlYP0PmKSupeC+vyrhTFCogXq74IA2kmbNgzijI5
+# AYhEFOONY8f5qcoDuU0HhONiQO/EKv6jL3T48WNGvNg15igIlwExHFDZTtEiJ7o1
+# GSWiz+P7oyN3ZZDk5tNJcpJE0NDHY3xGbCqiOLfXZ5bxFXsfq5PfVuDy+S/oxCn4
+# qrIpYW9pLYPK0+co2CB+IlQ5jBSpzTOe+s1gHrWfblWGFqWyd72yK9T4stnGLsR7
+# nMu32fO1YrIeMiFqGh87y4/KLVhhBRCyOiy0s42Rn4UC3hnk2Z9WvnVVTvtjBUk4
+# h/2NfIS33wkSUhkokpWtWKLrqQ==
+# SIG # End signature block

+ 153 - 0
packages/EntityFramework.6.0.0/tools/install.ps1

@@ -0,0 +1,153 @@
+param($installPath, $toolsPath, $package, $project)
+
+Initialize-EFConfiguration $project
+Add-EFProvider $project 'System.Data.SqlClient' 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer'
+
+Write-Host
+Write-Host "Type 'get-help EntityFramework' to see all available Entity Framework commands."
+
+# SIG # Begin signature block
+# MIIarwYJKoZIhvcNAQcCoIIaoDCCGpwCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
+# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
+# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUt8mwpdjiFmu2B4KBh+vEeQ+V
+# VnSgghWCMIIEwzCCA6ugAwIBAgITMwAAADQkMUDJoMF5jQAAAAAANDANBgkqhkiG
+# 9w0BAQUFADB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
+# A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEw
+# HwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EwHhcNMTMwMzI3MjAwODI1
+# WhcNMTQwNjI3MjAwODI1WjCBszELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp
+# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
+# b3JhdGlvbjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNO
+# OkI4RUMtMzBBNC03MTQ0MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT
+# ZXJ2aWNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5RoHrQqWLNS2
+# NGTLNCDyvARYgou1CdxS1HCf4lws5/VqpPW2LrGBhlkB7ElsKQQe9TiLVxj1wDIN
+# 7TSQ7MZF5buKCiWq76F7h9jxcGdKzWrc5q8FkT3tBXDrQc+rsSVmu6uitxj5eBN4
+# dc2LM1x97WfE7QP9KKxYYMF7vYCNM5NhYgixj1ESZY9BfsTVJektZkHTQzT6l4H4
+# /Ieh7TlSH/jpPv9egMkGNgfb27lqxzfPhrUaS0rUJfLHyI2vYWeK2lMv80wegyxj
+# yqAQUhG6gVhzQoTjNLLu6pO+TILQfZYLT38vzxBdGkVmqwLxXyQARsHBVdKDckIi
+# hjqkvpNQAQIDAQABo4IBCTCCAQUwHQYDVR0OBBYEFF9LQt4MuTig1GY2jVb7dFlJ
+# ZoErMB8GA1UdIwQYMBaAFCM0+NlSRnAK7UD7dvuzK7DDNbMPMFQGA1UdHwRNMEsw
+# SaBHoEWGQ2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3Rz
+# L01pY3Jvc29mdFRpbWVTdGFtcFBDQS5jcmwwWAYIKwYBBQUHAQEETDBKMEgGCCsG
+# AQUFBzAChjxodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jv
+# c29mdFRpbWVTdGFtcFBDQS5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZI
+# hvcNAQEFBQADggEBAA9CUKDVHq0XPx8Kpis3imdYLbEwTzvvwldp7GXTTMVQcvJz
+# JfbkhALFdRxxWEOr8cmqjt/Kb1g8iecvzXo17GbX1V66jp9XhpQQoOtRN61X9id7
+# I08Z2OBtdgQlMGESraWOoya2SOVT8kVOxbiJJxCdqePPI+l5bK6TaDoa8xPEFLZ6
+# Op5B2plWntDT4BaWkHJMrwH3JAb7GSuYslXMep/okjprMXuA8w6eV4u35gW2OSWa
+# l4IpNos4rq6LGqzu5+wuv0supQc1gfMTIOq0SpOev5yDVn+tFS9cKXELlGc4/DC/
+# Zef1Od7qIu2HjKuyO7UBwq3g/I4lFQwivp8M7R0wggTsMIID1KADAgECAhMzAAAA
+# sBGvCovQO5/dAAEAAACwMA0GCSqGSIb3DQEBBQUAMHkxCzAJBgNVBAYTAlVTMRMw
+# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
+# aWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNp
+# Z25pbmcgUENBMB4XDTEzMDEyNDIyMzMzOVoXDTE0MDQyNDIyMzMzOVowgYMxCzAJ
+# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
+# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDTALBgNVBAsTBE1PUFIx
+# HjAcBgNVBAMTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjCCASIwDQYJKoZIhvcNAQEB
+# BQADggEPADCCAQoCggEBAOivXKIgDfgofLwFe3+t7ut2rChTPzrbQH2zjjPmVz+l
+# URU0VKXPtIupP6g34S1Q7TUWTu9NetsTdoiwLPBZXKnr4dcpdeQbhSeb8/gtnkE2
+# KwtA+747urlcdZMWUkvKM8U3sPPrfqj1QRVcCGUdITfwLLoiCxCxEJ13IoWEfE+5
+# G5Cw9aP+i/QMmk6g9ckKIeKq4wE2R/0vgmqBA/WpNdyUV537S9QOgts4jxL+49Z6
+# dIhk4WLEJS4qrp0YHw4etsKvJLQOULzeHJNcSaZ5tbbbzvlweygBhLgqKc+/qQUF
+# 4eAPcU39rVwjgynrx8VKyOgnhNN+xkMLlQAFsU9lccUCAwEAAaOCAWAwggFcMBMG
+# A1UdJQQMMAoGCCsGAQUFBwMDMB0GA1UdDgQWBBRZcaZaM03amAeA/4Qevof5cjJB
+# 8jBRBgNVHREESjBIpEYwRDENMAsGA1UECxMETU9QUjEzMDEGA1UEBRMqMzE1OTUr
+# NGZhZjBiNzEtYWQzNy00YWEzLWE2NzEtNzZiYzA1MjM0NGFkMB8GA1UdIwQYMBaA
+# FMsR6MrStBZYAck3LjMWFrlMmgofMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9j
+# cmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY0NvZFNpZ1BDQV8w
+# OC0zMS0yMDEwLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6
+# Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljQ29kU2lnUENBXzA4LTMx
+# LTIwMTAuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQAx124qElczgdWdxuv5OtRETQie
+# 7l7falu3ec8CnLx2aJ6QoZwLw3+ijPFNupU5+w3g4Zv0XSQPG42IFTp8263Os8ls
+# ujksRX0kEVQmMA0N/0fqAwfl5GZdLHudHakQ+hywdPJPaWueqSSE2u2WoN9zpO9q
+# GqxLYp7xfMAUf0jNTbJE+fA8k21C2Oh85hegm2hoCSj5ApfvEQO6Z1Ktwemzc6bS
+# Y81K4j7k8079/6HguwITO10g3lU/o66QQDE4dSheBKlGbeb1enlAvR/N6EXVruJd
+# PvV1x+ZmY2DM1ZqEh40kMPfvNNBjHbFCZ0oOS786Du+2lTqnOOQlkgimiGaCMIIF
+# vDCCA6SgAwIBAgIKYTMmGgAAAAAAMTANBgkqhkiG9w0BAQUFADBfMRMwEQYKCZIm
+# iZPyLGQBGRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQD
+# EyRNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMTAwODMx
+# MjIxOTMyWhcNMjAwODMxMjIyOTMyWjB5MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
+# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
+# IENvcnBvcmF0aW9uMSMwIQYDVQQDExpNaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBD
+# QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJyWVwZMGS/HZpgICBC
+# mXZTbD4b1m/My/Hqa/6XFhDg3zp0gxq3L6Ay7P/ewkJOI9VyANs1VwqJyq4gSfTw
+# aKxNS42lvXlLcZtHB9r9Jd+ddYjPqnNEf9eB2/O98jakyVxF3K+tPeAoaJcap6Vy
+# c1bxF5Tk/TWUcqDWdl8ed0WDhTgW0HNbBbpnUo2lsmkv2hkL/pJ0KeJ2L1TdFDBZ
+# +NKNYv3LyV9GMVC5JxPkQDDPcikQKCLHN049oDI9kM2hOAaFXE5WgigqBTK3S9dP
+# Y+fSLWLxRT3nrAgA9kahntFbjCZT6HqqSvJGzzc8OJ60d1ylF56NyxGPVjzBrAlf
+# A9MCAwEAAaOCAV4wggFaMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMsR6MrS
+# tBZYAck3LjMWFrlMmgofMAsGA1UdDwQEAwIBhjASBgkrBgEEAYI3FQEEBQIDAQAB
+# MCMGCSsGAQQBgjcVAgQWBBT90TFO0yaKleGYYDuoMW+mPLzYLTAZBgkrBgEEAYI3
+# FAIEDB4KAFMAdQBiAEMAQTAfBgNVHSMEGDAWgBQOrIJgQFYnl+UlE/wq4QpTlVnk
+# pDBQBgNVHR8ESTBHMEWgQ6BBhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtp
+# L2NybC9wcm9kdWN0cy9taWNyb3NvZnRyb290Y2VydC5jcmwwVAYIKwYBBQUHAQEE
+# SDBGMEQGCCsGAQUFBzAChjhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2Nl
+# cnRzL01pY3Jvc29mdFJvb3RDZXJ0LmNydDANBgkqhkiG9w0BAQUFAAOCAgEAWTk+
+# fyZGr+tvQLEytWrrDi9uqEn361917Uw7LddDrQv+y+ktMaMjzHxQmIAhXaw9L0y6
+# oqhWnONwu7i0+Hm1SXL3PupBf8rhDBdpy6WcIC36C1DEVs0t40rSvHDnqA2iA6VW
+# 4LiKS1fylUKc8fPv7uOGHzQ8uFaa8FMjhSqkghyT4pQHHfLiTviMocroE6WRTsgb
+# 0o9ylSpxbZsa+BzwU9ZnzCL/XB3Nooy9J7J5Y1ZEolHN+emjWFbdmwJFRC9f9Nqu
+# 1IIybvyklRPk62nnqaIsvsgrEA5ljpnb9aL6EiYJZTiU8XofSrvR4Vbo0HiWGFzJ
+# NRZf3ZMdSY4tvq00RBzuEBUaAF3dNVshzpjHCe6FDoxPbQ4TTj18KUicctHzbMrB
+# 7HCjV5JXfZSNoBtIA1r3z6NnCnSlNu0tLxfI5nI3EvRvsTxngvlSso0zFmUeDord
+# EN5k9G/ORtTTF+l5xAS00/ss3x+KnqwK+xMnQK3k+eGpf0a7B2BHZWBATrBC7E7t
+# s3Z52Ao0CW0cgDEf4g5U3eWh++VHEK1kmP9QFi58vwUheuKVQSdpw5OPlcmN2Jsh
+# rg1cnPCiroZogwxqLbt2awAdlq3yFnv2FoMkuYjPaqhHMS+a3ONxPdcAfmJH0c6I
+# ybgY+g5yjcGjPa8CQGr/aZuW4hCoELQ3UAjWwz0wggYHMIID76ADAgECAgphFmg0
+# AAAAAAAcMA0GCSqGSIb3DQEBBQUAMF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAX
+# BgoJkiaJk/IsZAEZFgltaWNyb3NvZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290
+# IENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0wNzA0MDMxMjUzMDlaFw0yMTA0MDMx
+# MzAzMDlaMHcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
+# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xITAf
+# BgNVBAMTGE1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQTCCASIwDQYJKoZIhvcNAQEB
+# BQADggEPADCCAQoCggEBAJ+hbLHf20iSKnxrLhnhveLjxZlRI1Ctzt0YTiQP7tGn
+# 0UytdDAgEesH1VSVFUmUG0KSrphcMCbaAGvoe73siQcP9w4EmPCJzB/LMySHnfL0
+# Zxws/HvniB3q506jocEjU8qN+kXPCdBer9CwQgSi+aZsk2fXKNxGU7CG0OUoRi4n
+# rIZPVVIM5AMs+2qQkDBuh/NZMJ36ftaXs+ghl3740hPzCLdTbVK0RZCfSABKR2YR
+# JylmqJfk0waBSqL5hKcRRxQJgp+E7VV4/gGaHVAIhQAQMEbtt94jRrvELVSfrx54
+# QTF3zJvfO4OToWECtR0Nsfz3m7IBziJLVP/5BcPCIAsCAwEAAaOCAaswggGnMA8G
+# A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFCM0+NlSRnAK7UD7dvuzK7DDNbMPMAsG
+# A1UdDwQEAwIBhjAQBgkrBgEEAYI3FQEEAwIBADCBmAYDVR0jBIGQMIGNgBQOrIJg
+# QFYnl+UlE/wq4QpTlVnkpKFjpGEwXzETMBEGCgmSJomT8ixkARkWA2NvbTEZMBcG
+# CgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWljcm9zb2Z0IFJvb3Qg
+# Q2VydGlmaWNhdGUgQXV0aG9yaXR5ghB5rRahSqClrUxzWPQHEy5lMFAGA1UdHwRJ
+# MEcwRaBDoEGGP2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1
+# Y3RzL21pY3Jvc29mdHJvb3RjZXJ0LmNybDBUBggrBgEFBQcBAQRIMEYwRAYIKwYB
+# BQUHMAKGOGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljcm9z
+# b2Z0Um9vdENlcnQuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0GCSqGSIb3DQEB
+# BQUAA4ICAQAQl4rDXANENt3ptK132855UU0BsS50cVttDBOrzr57j7gu1BKijG1i
+# uFcCy04gE1CZ3XpA4le7r1iaHOEdAYasu3jyi9DsOwHu4r6PCgXIjUji8FMV3U+r
+# kuTnjWrVgMHmlPIGL4UD6ZEqJCJw+/b85HiZLg33B+JwvBhOnY5rCnKVuKE5nGct
+# xVEO6mJcPxaYiyA/4gcaMvnMMUp2MT0rcgvI6nA9/4UKE9/CCmGO8Ne4F+tOi3/F
+# NSteo7/rvH0LQnvUU3Ih7jDKu3hlXFsBFwoUDtLaFJj1PLlmWLMtL+f5hYbMUVbo
+# nXCUbKw5TNT2eb+qGHpiKe+imyk0BncaYsk9Hm0fgvALxyy7z0Oz5fnsfbXjpKh0
+# NbhOxXEjEiZ2CzxSjHFaRkMUvLOzsE1nyJ9C/4B5IYCeFTBm6EISXhrIniIh0EPp
+# K+m79EjMLNTYMoBMJipIJF9a6lbvpt6Znco6b72BJ3QGEe52Ib+bgsEnVLaxaj2J
+# oXZhtG6hE6a/qkfwEm/9ijJssv7fUciMI8lmvZ0dhxJkAj0tr1mPuOQh5bWwymO0
+# eFQF1EEuUKyUsKV4q7OglnUa2ZKHE3UiLzKoCG6gW4wlv6DvhMoh1useT8ma7kng
+# 9wFlb4kLfchpyOZu6qeXzjEp/w7FW1zYTRuh2Povnj8uVRZryROj/TGCBJcwggST
+# AgEBMIGQMHkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
+# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAh
+# BgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBAhMzAAAAsBGvCovQO5/d
+# AAEAAACwMAkGBSsOAwIaBQCggbAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw
+# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFJiz
+# f4JawBv4s6ihwSKoeZTRDcAvMFAGCisGAQQBgjcCAQwxQjBAoCKAIABFAG4AdABp
+# AHQAeQAgAEYAcgBhAG0AZQB3AG8AcgBroRqAGGh0dHA6Ly9tc2RuLmNvbS9kYXRh
+# L2VmIDANBgkqhkiG9w0BAQEFAASCAQBl1eyDt2dp8f759lxqbnnQy+TYCdsEAqxP
+# 5AY0A38rcH28zRXOGRwxLo1o7uwmP9WFgmBvTa5yvDLVXI9OPsQ2yy1ugJT9GLro
+# l2v6TbtUikmli9JQ1cMXAQKCvJWr7q8pie9Xlv/Kf2hD/KdxqACw/O+wXVu43cZq
+# ewAUd4OsKQ5kWTalsog9sIQ9NoggMVDGwPQc4F/da9LwXaL9hwl+8J0l2V5TZefk
+# X5Hxsae0Souw8RR+u55r3OMyGxX4jANDVpsMzVh3bmNwsq0OaNtJ5WXx/1R5+72D
+# yZQPi+wpjcSn8oDJEhCAvNT/jzX6NsxbnZr3fxEn8MfMB5BmkInAoYICKDCCAiQG
+# CSqGSIb3DQEJBjGCAhUwggIRAgEBMIGOMHcxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
+# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv
+# ZnQgQ29ycG9yYXRpb24xITAfBgNVBAMTGE1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD
+# QQITMwAAADQkMUDJoMF5jQAAAAAANDAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkD
+# MQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTMwOTExMTYwNDU5WjAjBgkq
+# hkiG9w0BCQQxFgQU/5ZEGkCagXUs+tIh1LXCDL6NUJYwDQYJKoZIhvcNAQEFBQAE
+# ggEAQEqm6b+Ap0anii4Sb/4F2a3nHT1dFaqmAYVWiqS72t+Ws1j3mCKZRrrh8puT
+# EOtUzKgx0wIBCr/DAFw9+g/S3zC3uhJkcyqPk3187Zcz/Qu9FKj0pFKO6fWpxfCU
+# aN2iVBNRpldqusvVsRStMYj4cHOiGp3lilzg9iC1pNOlU4xBRDZ7i/r98K0gw2XI
+# GMKTEKtcQQkS6ws7oJfO+asAqqUakB+y4MiWaxAworKMeT2GvpTSOSO2pEdq1DvJ
+# r9NCSiCNxGx9Io/zJJA9T+0Ecs00/qPt5xTU23xeUl3q2I2l04AYIxKuDGZt6Xu7
+# Rx8Cl1sC5w6EyCItwslF4WafkQ==
+# SIG # End signature block

BIN
packages/EntityFramework.6.0.0/tools/migrate.exe


+ 20 - 0
packages/Newtonsoft.Json.11.0.1/LICENSE.md

@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2007 James Newton-King
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

BIN
packages/Newtonsoft.Json.11.0.1/Newtonsoft.Json.11.0.1.nupkg


BIN
packages/System.Data.SQLite.1.0.107.0/System.Data.SQLite.1.0.107.0.nupkg


BIN
packages/System.Data.SQLite.Core.1.0.107.0/System.Data.SQLite.Core.1.0.107.0.nupkg


BIN
packages/System.Data.SQLite.EF6.1.0.107.0/System.Data.SQLite.EF6.1.0.107.0.nupkg


+ 12 - 0
packages/System.Data.SQLite.EF6.1.0.107.0/content/net40/app.config.install.xdt

@@ -0,0 +1,12 @@
+<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
+  <system.data>
+    <DbProviderFactories>
+      <remove xdt:Transform="RemoveAll"
+              xdt:Locator="Condition(@invariant='System.Data.SQLite' or
+                                     @invariant='System.Data.SQLite.Linq')" />
+      <add xdt:Transform="RemoveAll"
+           xdt:Locator="Condition(@invariant='System.Data.SQLite' or
+                                  @invariant='System.Data.SQLite.Linq')" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 11 - 0
packages/System.Data.SQLite.EF6.1.0.107.0/content/net40/app.config.transform

@@ -0,0 +1,11 @@
+<configuration>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite.EF6" />
+      <add name="SQLite Data Provider (Entity Framework 6)"
+           invariant="System.Data.SQLite.EF6"
+           description=".NET Framework Data Provider for SQLite (Entity Framework 6)"
+           type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 12 - 0
packages/System.Data.SQLite.EF6.1.0.107.0/content/net40/web.config.install.xdt

@@ -0,0 +1,12 @@
+<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
+  <system.data>
+    <DbProviderFactories>
+      <remove xdt:Transform="RemoveAll"
+              xdt:Locator="Condition(@invariant='System.Data.SQLite' or
+                                     @invariant='System.Data.SQLite.Linq')" />
+      <add xdt:Transform="RemoveAll"
+           xdt:Locator="Condition(@invariant='System.Data.SQLite' or
+                                  @invariant='System.Data.SQLite.Linq')" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 11 - 0
packages/System.Data.SQLite.EF6.1.0.107.0/content/net40/web.config.transform

@@ -0,0 +1,11 @@
+<configuration>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite.EF6" />
+      <add name="SQLite Data Provider (Entity Framework 6)"
+           invariant="System.Data.SQLite.EF6"
+           description=".NET Framework Data Provider for SQLite (Entity Framework 6)"
+           type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 12 - 0
packages/System.Data.SQLite.EF6.1.0.107.0/content/net45/app.config.install.xdt

@@ -0,0 +1,12 @@
+<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
+  <system.data>
+    <DbProviderFactories>
+      <remove xdt:Transform="RemoveAll"
+              xdt:Locator="Condition(@invariant='System.Data.SQLite' or
+                                     @invariant='System.Data.SQLite.Linq')" />
+      <add xdt:Transform="RemoveAll"
+           xdt:Locator="Condition(@invariant='System.Data.SQLite' or
+                                  @invariant='System.Data.SQLite.Linq')" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 11 - 0
packages/System.Data.SQLite.EF6.1.0.107.0/content/net45/app.config.transform

@@ -0,0 +1,11 @@
+<configuration>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite.EF6" />
+      <add name="SQLite Data Provider (Entity Framework 6)"
+           invariant="System.Data.SQLite.EF6"
+           description=".NET Framework Data Provider for SQLite (Entity Framework 6)"
+           type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 12 - 0
packages/System.Data.SQLite.EF6.1.0.107.0/content/net45/web.config.install.xdt

@@ -0,0 +1,12 @@
+<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
+  <system.data>
+    <DbProviderFactories>
+      <remove xdt:Transform="RemoveAll"
+              xdt:Locator="Condition(@invariant='System.Data.SQLite' or
+                                     @invariant='System.Data.SQLite.Linq')" />
+      <add xdt:Transform="RemoveAll"
+           xdt:Locator="Condition(@invariant='System.Data.SQLite' or
+                                  @invariant='System.Data.SQLite.Linq')" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 11 - 0
packages/System.Data.SQLite.EF6.1.0.107.0/content/net45/web.config.transform

@@ -0,0 +1,11 @@
+<configuration>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite.EF6" />
+      <add name="SQLite Data Provider (Entity Framework 6)"
+           invariant="System.Data.SQLite.EF6"
+           description=".NET Framework Data Provider for SQLite (Entity Framework 6)"
+           type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 12 - 0
packages/System.Data.SQLite.EF6.1.0.107.0/content/net451/app.config.install.xdt

@@ -0,0 +1,12 @@
+<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
+  <system.data>
+    <DbProviderFactories>
+      <remove xdt:Transform="RemoveAll"
+              xdt:Locator="Condition(@invariant='System.Data.SQLite' or
+                                     @invariant='System.Data.SQLite.Linq')" />
+      <add xdt:Transform="RemoveAll"
+           xdt:Locator="Condition(@invariant='System.Data.SQLite' or
+                                  @invariant='System.Data.SQLite.Linq')" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 11 - 0
packages/System.Data.SQLite.EF6.1.0.107.0/content/net451/app.config.transform

@@ -0,0 +1,11 @@
+<configuration>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite.EF6" />
+      <add name="SQLite Data Provider (Entity Framework 6)"
+           invariant="System.Data.SQLite.EF6"
+           description=".NET Framework Data Provider for SQLite (Entity Framework 6)"
+           type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 12 - 0
packages/System.Data.SQLite.EF6.1.0.107.0/content/net451/web.config.install.xdt

@@ -0,0 +1,12 @@
+<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
+  <system.data>
+    <DbProviderFactories>
+      <remove xdt:Transform="RemoveAll"
+              xdt:Locator="Condition(@invariant='System.Data.SQLite' or
+                                     @invariant='System.Data.SQLite.Linq')" />
+      <add xdt:Transform="RemoveAll"
+           xdt:Locator="Condition(@invariant='System.Data.SQLite' or
+                                  @invariant='System.Data.SQLite.Linq')" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 11 - 0
packages/System.Data.SQLite.EF6.1.0.107.0/content/net451/web.config.transform

@@ -0,0 +1,11 @@
+<configuration>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite.EF6" />
+      <add name="SQLite Data Provider (Entity Framework 6)"
+           invariant="System.Data.SQLite.EF6"
+           description=".NET Framework Data Provider for SQLite (Entity Framework 6)"
+           type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 12 - 0
packages/System.Data.SQLite.EF6.1.0.107.0/content/net46/app.config.install.xdt

@@ -0,0 +1,12 @@
+<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
+  <system.data>
+    <DbProviderFactories>
+      <remove xdt:Transform="RemoveAll"
+              xdt:Locator="Condition(@invariant='System.Data.SQLite' or
+                                     @invariant='System.Data.SQLite.Linq')" />
+      <add xdt:Transform="RemoveAll"
+           xdt:Locator="Condition(@invariant='System.Data.SQLite' or
+                                  @invariant='System.Data.SQLite.Linq')" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 11 - 0
packages/System.Data.SQLite.EF6.1.0.107.0/content/net46/app.config.transform

@@ -0,0 +1,11 @@
+<configuration>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite.EF6" />
+      <add name="SQLite Data Provider (Entity Framework 6)"
+           invariant="System.Data.SQLite.EF6"
+           description=".NET Framework Data Provider for SQLite (Entity Framework 6)"
+           type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 12 - 0
packages/System.Data.SQLite.EF6.1.0.107.0/content/net46/web.config.install.xdt

@@ -0,0 +1,12 @@
+<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
+  <system.data>
+    <DbProviderFactories>
+      <remove xdt:Transform="RemoveAll"
+              xdt:Locator="Condition(@invariant='System.Data.SQLite' or
+                                     @invariant='System.Data.SQLite.Linq')" />
+      <add xdt:Transform="RemoveAll"
+           xdt:Locator="Condition(@invariant='System.Data.SQLite' or
+                                  @invariant='System.Data.SQLite.Linq')" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 11 - 0
packages/System.Data.SQLite.EF6.1.0.107.0/content/net46/web.config.transform

@@ -0,0 +1,11 @@
+<configuration>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite.EF6" />
+      <add name="SQLite Data Provider (Entity Framework 6)"
+           invariant="System.Data.SQLite.EF6"
+           description=".NET Framework Data Provider for SQLite (Entity Framework 6)"
+           type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 13 - 0
packages/System.Data.SQLite.EF6.1.0.107.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"

+ 13 - 0
packages/System.Data.SQLite.EF6.1.0.107.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"

+ 13 - 0
packages/System.Data.SQLite.EF6.1.0.107.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"

+ 13 - 0
packages/System.Data.SQLite.EF6.1.0.107.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"

BIN
packages/System.Data.SQLite.Linq.1.0.107.0/System.Data.SQLite.Linq.1.0.107.0.nupkg


+ 11 - 0
packages/System.Data.SQLite.Linq.1.0.107.0/content/net20/app.config.transform

@@ -0,0 +1,11 @@
+<configuration>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite" />
+      <add name="SQLite Data Provider"
+           invariant="System.Data.SQLite"
+           description=".NET Framework Data Provider for SQLite"
+           type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 11 - 0
packages/System.Data.SQLite.Linq.1.0.107.0/content/net20/web.config.transform

@@ -0,0 +1,11 @@
+<configuration>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite" />
+      <add name="SQLite Data Provider"
+           invariant="System.Data.SQLite"
+           description=".NET Framework Data Provider for SQLite"
+           type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 11 - 0
packages/System.Data.SQLite.Linq.1.0.107.0/content/net40/app.config.transform

@@ -0,0 +1,11 @@
+<configuration>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite" />
+      <add name="SQLite Data Provider"
+           invariant="System.Data.SQLite"
+           description=".NET Framework Data Provider for SQLite"
+           type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 11 - 0
packages/System.Data.SQLite.Linq.1.0.107.0/content/net40/web.config.transform

@@ -0,0 +1,11 @@
+<configuration>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite" />
+      <add name="SQLite Data Provider"
+           invariant="System.Data.SQLite"
+           description=".NET Framework Data Provider for SQLite"
+           type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 11 - 0
packages/System.Data.SQLite.Linq.1.0.107.0/content/net45/app.config.transform

@@ -0,0 +1,11 @@
+<configuration>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite" />
+      <add name="SQLite Data Provider"
+           invariant="System.Data.SQLite"
+           description=".NET Framework Data Provider for SQLite"
+           type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 11 - 0
packages/System.Data.SQLite.Linq.1.0.107.0/content/net45/web.config.transform

@@ -0,0 +1,11 @@
+<configuration>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite" />
+      <add name="SQLite Data Provider"
+           invariant="System.Data.SQLite"
+           description=".NET Framework Data Provider for SQLite"
+           type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 11 - 0
packages/System.Data.SQLite.Linq.1.0.107.0/content/net451/app.config.transform

@@ -0,0 +1,11 @@
+<configuration>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite" />
+      <add name="SQLite Data Provider"
+           invariant="System.Data.SQLite"
+           description=".NET Framework Data Provider for SQLite"
+           type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 11 - 0
packages/System.Data.SQLite.Linq.1.0.107.0/content/net451/web.config.transform

@@ -0,0 +1,11 @@
+<configuration>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite" />
+      <add name="SQLite Data Provider"
+           invariant="System.Data.SQLite"
+           description=".NET Framework Data Provider for SQLite"
+           type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 11 - 0
packages/System.Data.SQLite.Linq.1.0.107.0/content/net46/app.config.transform

@@ -0,0 +1,11 @@
+<configuration>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite" />
+      <add name="SQLite Data Provider"
+           invariant="System.Data.SQLite"
+           description=".NET Framework Data Provider for SQLite"
+           type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

+ 11 - 0
packages/System.Data.SQLite.Linq.1.0.107.0/content/net46/web.config.transform

@@ -0,0 +1,11 @@
+<configuration>
+  <system.data>
+    <DbProviderFactories>
+      <remove invariant="System.Data.SQLite" />
+      <add name="SQLite Data Provider"
+           invariant="System.Data.SQLite"
+           description=".NET Framework Data Provider for SQLite"
+           type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
+    </DbProviderFactories>
+  </system.data>
+</configuration>

BIN
packages/sqlSugar.4.6.4.6/sqlSugar.4.6.4.6.nupkg