├── .gitattributes ├── .gitignore ├── Hybrid.Orm.Repository.Dapper ├── HybridOrm.Repository.Dapper.csproj ├── Properties │ └── AssemblyInfo.cs ├── UserRepository.cs ├── UserRepositoryExtensions.cs └── packages.config ├── HybridOrm.EF ├── App.config ├── HybridOrm.Repository.EF.csproj ├── Properties │ └── AssemblyInfo.cs ├── Repository.cs ├── UnitOfWork.cs └── packages.config ├── HybridOrm.Model ├── HybridOrm.Model.csproj ├── IEntity.cs ├── IReadOnlyRepository.cs ├── IRepository.cs ├── IUnitOfWork.cs ├── Properties │ └── AssemblyInfo.cs └── User.cs ├── HybridOrm.Services ├── HybridOrm.Services.csproj ├── Properties │ └── AssemblyInfo.cs └── UsersService.cs ├── HybridOrm.sln ├── packages ├── Dapper.1.13 │ ├── Dapper.1.13.nupkg │ └── lib │ │ ├── net35 │ │ ├── Dapper.dll │ │ └── Dapper.xml │ │ ├── net40 │ │ ├── Dapper.dll │ │ └── Dapper.xml │ │ └── net45 │ │ ├── Dapper.dll │ │ └── Dapper.xml ├── EntityFramework.5.0.0 │ ├── Content │ │ ├── App.config.transform │ │ └── Web.config.transform │ ├── EntityFramework.5.0.0.nupkg │ ├── lib │ │ ├── net40 │ │ │ ├── EntityFramework.dll │ │ │ └── EntityFramework.xml │ │ └── net45 │ │ │ ├── EntityFramework.dll │ │ │ └── EntityFramework.xml │ └── tools │ │ ├── EntityFramework.PS3.psd1 │ │ ├── EntityFramework.PowerShell.Utility.dll │ │ ├── EntityFramework.PowerShell.dll │ │ ├── EntityFramework.psd1 │ │ ├── EntityFramework.psm1 │ │ ├── Redirect.VS11.config │ │ ├── Redirect.config │ │ ├── about_EntityFramework.help.txt │ │ ├── init.ps1 │ │ ├── install.ps1 │ │ └── migrate.exe └── repositories.config └── readme.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ################# 2 | ## Eclipse 3 | ################# 4 | 5 | *.pydevproject 6 | .project 7 | .metadata 8 | bin/ 9 | tmp/ 10 | *.tmp 11 | *.bak 12 | *.swp 13 | *~.nib 14 | local.properties 15 | .classpath 16 | .settings/ 17 | .loadpath 18 | 19 | # External tool builders 20 | .externalToolBuilders/ 21 | 22 | # Locally stored "Eclipse launch configurations" 23 | *.launch 24 | 25 | # CDT-specific 26 | .cproject 27 | 28 | # PDT-specific 29 | .buildpath 30 | 31 | 32 | ################# 33 | ## Visual Studio 34 | ################# 35 | 36 | ## Ignore Visual Studio temporary files, build results, and 37 | ## files generated by popular Visual Studio add-ons. 38 | 39 | # User-specific files 40 | *.suo 41 | *.user 42 | *.sln.docstates 43 | 44 | # Build results 45 | 46 | [Dd]ebug/ 47 | [Rr]elease/ 48 | x64/ 49 | build/ 50 | [Bb]in/ 51 | [Oo]bj/ 52 | 53 | # MSTest test Results 54 | [Tt]est[Rr]esult*/ 55 | [Bb]uild[Ll]og.* 56 | 57 | *_i.c 58 | *_p.c 59 | *.ilk 60 | *.meta 61 | *.obj 62 | *.pch 63 | *.pdb 64 | *.pgc 65 | *.pgd 66 | *.rsp 67 | *.sbr 68 | *.tlb 69 | *.tli 70 | *.tlh 71 | *.tmp 72 | *.tmp_proj 73 | *.log 74 | *.vspscc 75 | *.vssscc 76 | .builds 77 | *.pidb 78 | *.log 79 | *.scc 80 | 81 | # Visual C++ cache files 82 | ipch/ 83 | *.aps 84 | *.ncb 85 | *.opensdf 86 | *.sdf 87 | *.cachefile 88 | 89 | # Visual Studio profiler 90 | *.psess 91 | *.vsp 92 | *.vspx 93 | 94 | # Guidance Automation Toolkit 95 | *.gpState 96 | 97 | # ReSharper is a .NET coding add-in 98 | _ReSharper*/ 99 | *.[Rr]e[Ss]harper 100 | 101 | # TeamCity is a build add-in 102 | _TeamCity* 103 | 104 | # DotCover is a Code Coverage Tool 105 | *.dotCover 106 | 107 | # NCrunch 108 | *.ncrunch* 109 | .*crunch*.local.xml 110 | 111 | # Installshield output folder 112 | [Ee]xpress/ 113 | 114 | # DocProject is a documentation generator add-in 115 | DocProject/buildhelp/ 116 | DocProject/Help/*.HxT 117 | DocProject/Help/*.HxC 118 | DocProject/Help/*.hhc 119 | DocProject/Help/*.hhk 120 | DocProject/Help/*.hhp 121 | DocProject/Help/Html2 122 | DocProject/Help/html 123 | 124 | # Click-Once directory 125 | publish/ 126 | 127 | # Publish Web Output 128 | *.Publish.xml 129 | *.pubxml 130 | 131 | # NuGet Packages Directory 132 | ## TODO: If you have NuGet Package Restore enabled, uncomment the next line 133 | #packages/ 134 | 135 | # Windows Azure Build Output 136 | csx 137 | *.build.csdef 138 | 139 | # Windows Store app package directory 140 | AppPackages/ 141 | 142 | # Others 143 | sql/ 144 | *.Cache 145 | ClientBin/ 146 | [Ss]tyle[Cc]op.* 147 | ~$* 148 | *~ 149 | *.dbmdl 150 | *.[Pp]ublish.xml 151 | *.pfx 152 | *.publishsettings 153 | 154 | # RIA/Silverlight projects 155 | Generated_Code/ 156 | 157 | # Backup & report files from converting an old project file to a newer 158 | # Visual Studio version. Backup files are not needed, because we have git ;-) 159 | _UpgradeReport_Files/ 160 | Backup*/ 161 | UpgradeLog*.XML 162 | UpgradeLog*.htm 163 | 164 | # SQL Server files 165 | App_Data/*.mdf 166 | App_Data/*.ldf 167 | 168 | ############# 169 | ## Windows detritus 170 | ############# 171 | 172 | # Windows image file caches 173 | Thumbs.db 174 | ehthumbs.db 175 | 176 | # Folder config file 177 | Desktop.ini 178 | 179 | # Recycle Bin used on file shares 180 | $RECYCLE.BIN/ 181 | 182 | # Mac crap 183 | .DS_Store 184 | 185 | 186 | ############# 187 | ## Python 188 | ############# 189 | 190 | *.py[co] 191 | 192 | # Packages 193 | *.egg 194 | *.egg-info 195 | dist/ 196 | build/ 197 | eggs/ 198 | parts/ 199 | var/ 200 | sdist/ 201 | develop-eggs/ 202 | .installed.cfg 203 | 204 | # Installer logs 205 | pip-log.txt 206 | 207 | # Unit test / coverage reports 208 | .coverage 209 | .tox 210 | 211 | #Translations 212 | *.mo 213 | 214 | #Mr Developer 215 | .mr.developer.cfg 216 | -------------------------------------------------------------------------------- /Hybrid.Orm.Repository.Dapper/HybridOrm.Repository.Dapper.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {DF6CE75D-FD97-4FAD-B597-5A2A4D9C3A63} 8 | Library 9 | Properties 10 | HybridOrm.Repository.Dapper 11 | HybridOrm.Repository.Dapper 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | ..\packages\Dapper.1.13\lib\net45\Dapper.dll 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | {17724e46-9035-4783-878b-ca0801b9bc69} 56 | HybridOrm.Model 57 | 58 | 59 | 60 | 67 | -------------------------------------------------------------------------------- /Hybrid.Orm.Repository.Dapper/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Hybrid.Orm.Repository.Dapper")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Hybrid.Orm.Repository.Dapper")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("d381cd8a-67fd-4d38-a4a0-924ef532d8b9")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Hybrid.Orm.Repository.Dapper/UserRepository.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Configuration; 3 | using System.Data; 4 | using System.Data.SqlClient; 5 | using System.Linq; 6 | using Dapper; 7 | using HybridOrm.Model; 8 | 9 | namespace Hybrid.Orm.Repository.Dapper 10 | { 11 | public class UserRepository : IReadOnlyRepository 12 | { 13 | public IDbConnection Connection 14 | { 15 | get 16 | { 17 | return new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString); 18 | } 19 | } 20 | 21 | public User FindById(int id) 22 | { 23 | User user = null; 24 | 25 | using (IDbConnection cn = Connection) 26 | { 27 | cn.Open(); 28 | user = cn.Query("SELECT * FROM Users WHERE ID=@ID", new { ID = id }).SingleOrDefault(); 29 | } 30 | 31 | return user; 32 | } 33 | 34 | public IEnumerable GetAll() 35 | { 36 | IEnumerable users = null; 37 | 38 | using (IDbConnection cn = Connection) 39 | { 40 | cn.Open(); 41 | users = cn.Query("SELECT * FROM Users"); 42 | } 43 | 44 | return users; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Hybrid.Orm.Repository.Dapper/UserRepositoryExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Data; 4 | using Dapper; 5 | using HybridOrm.Model; 6 | 7 | namespace Hybrid.Orm.Repository.Dapper 8 | { 9 | public static class UserRepositoryExtension 10 | { 11 | public static IEnumerable GetNewUsers(this IReadOnlyRepository repository) 12 | { 13 | IEnumerable users = null; 14 | 15 | using (IDbConnection cn = repository.Connection) 16 | { 17 | cn.Open(); 18 | users = cn.Query("SELECT * FROM Users Where CreatedDate = @CreatedDate", new { CreatedDate = DateTime.Now }); 19 | } 20 | 21 | return users; 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Hybrid.Orm.Repository.Dapper/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /HybridOrm.EF/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /HybridOrm.EF/HybridOrm.Repository.EF.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {0B2882B5-FAD0-4C8B-9093-BC10FCE2D916} 8 | Library 9 | Properties 10 | HybridOrm.Repository.EF 11 | HybridOrm.Repository.EF 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | ..\packages\EntityFramework.5.0.0\lib\net45\EntityFramework.dll 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | {17724e46-9035-4783-878b-ca0801b9bc69} 58 | HybridOrm.Model 59 | 60 | 61 | 62 | 69 | -------------------------------------------------------------------------------- /HybridOrm.EF/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("HybridOrm.EF")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("HybridOrm.EF")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("0d86fe39-8f54-48b0-9d75-10803a4a3776")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /HybridOrm.EF/Repository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Data; 4 | using System.Data.Entity; 5 | using System.Linq; 6 | using System.Linq.Expressions; 7 | using System.Text; 8 | using HybridOrm.Model; 9 | 10 | namespace HybridOrm.Repository.EF 11 | { 12 | public class Repository : IRepository where T : class, IEntity 13 | { 14 | private readonly DbSet _dbSet; 15 | 16 | public IDbConnection Connection 17 | { 18 | get { throw new NotImplementedException(); } 19 | } 20 | 21 | public Repository(DbSet dbSet) 22 | { 23 | _dbSet = dbSet; 24 | } 25 | 26 | public IQueryable AsQueryable() 27 | { 28 | return _dbSet.AsQueryable(); 29 | } 30 | 31 | public IEnumerable GetAll() 32 | { 33 | return _dbSet; 34 | } 35 | 36 | public IEnumerable Find(Expression> predicate) 37 | { 38 | return _dbSet.Where(predicate); 39 | } 40 | 41 | public T FindById(int id) 42 | { 43 | return _dbSet.Single(t => t.Id == id); 44 | } 45 | 46 | public void Add(T entity) 47 | { 48 | _dbSet.Add(entity); 49 | } 50 | 51 | public void Remove(T entity) 52 | { 53 | _dbSet.Remove(entity); 54 | } 55 | 56 | public void Attach(T entity) 57 | { 58 | _dbSet.Attach(entity); 59 | } 60 | } 61 | } -------------------------------------------------------------------------------- /HybridOrm.EF/UnitOfWork.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Data.Entity; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using HybridOrm.Model; 8 | 9 | namespace HybridOrm.Repository.EF 10 | { 11 | public class UnitOfWork : DbContext, IUnitOfWork 12 | { 13 | private readonly Repository _useRepository; 14 | 15 | public DbSet Users { get; set; } 16 | 17 | public UnitOfWork() 18 | { 19 | _useRepository = new Repository(Users); 20 | } 21 | 22 | public IRepository UserRepository 23 | { 24 | get { return _useRepository; } 25 | } 26 | 27 | public void Save() 28 | { 29 | SaveChanges(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /HybridOrm.EF/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /HybridOrm.Model/HybridOrm.Model.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {17724E46-9035-4783-878B-CA0801B9BC69} 8 | Library 9 | Properties 10 | HybridOrm.Model 11 | HybridOrm.Model 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 57 | -------------------------------------------------------------------------------- /HybridOrm.Model/IEntity.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace HybridOrm.Model 8 | { 9 | public interface IEntity 10 | { 11 | int Id { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /HybridOrm.Model/IReadOnlyRepository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Data; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace HybridOrm.Model 9 | { 10 | public interface IReadOnlyRepository where T : class, IEntity 11 | { 12 | IDbConnection Connection { get; } 13 | 14 | T FindById(int id); 15 | 16 | IEnumerable GetAll(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /HybridOrm.Model/IRepository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Linq.Expressions; 5 | 6 | namespace HybridOrm.Model 7 | { 8 | public interface IRepository : IReadOnlyRepository where T : class, IEntity 9 | { 10 | IQueryable AsQueryable(); 11 | 12 | IEnumerable Find(Expression> predicate); 13 | 14 | void Add(T entity); 15 | 16 | void Remove(T entity); 17 | 18 | void Attach(T entity); 19 | } 20 | } -------------------------------------------------------------------------------- /HybridOrm.Model/IUnitOfWork.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace HybridOrm.Model 8 | { 9 | public interface IUnitOfWork : IDisposable 10 | { 11 | IRepository UserRepository { get; } 12 | 13 | void Save(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HybridOrm.Model/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("HybridOrm.Model")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("HybridOrm.Model")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("68311b71-8c1f-437b-add9-2195ede8e1ad")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /HybridOrm.Model/User.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace HybridOrm.Model 8 | { 9 | public class User : IEntity 10 | { 11 | public int Id { get; set; } 12 | 13 | public string Username { get; set; } 14 | 15 | public DateTime CreatedDate { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /HybridOrm.Services/HybridOrm.Services.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {B874CEB6-A7D6-40F0-8A54-4E73B6660573} 8 | Library 9 | Properties 10 | HybridOrm.Services 11 | HybridOrm.Services 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | {df6ce75d-fd97-4fad-b597-5a2a4d9c3a63} 48 | HybridOrm.Repository.Dapper 49 | 50 | 51 | {0b2882b5-fad0-4c8b-9093-bc10fce2d916} 52 | HybridOrm.Repository.EF 53 | 54 | 55 | {17724e46-9035-4783-878b-ca0801b9bc69} 56 | HybridOrm.Model 57 | 58 | 59 | 60 | 67 | -------------------------------------------------------------------------------- /HybridOrm.Services/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("HybridOrm.Services")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("HybridOrm.Services")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("03d9f194-478d-40ea-8af0-6455785a8fe1")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /HybridOrm.Services/UsersService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using Hybrid.Orm.Repository.Dapper; 7 | using HybridOrm.Model; 8 | 9 | namespace HybridOrm.Services 10 | { 11 | public class UsersService 12 | { 13 | private readonly IUnitOfWork _unitOfWork; 14 | 15 | /// 16 | /// Read only paramter that makes use of dapper 17 | /// 18 | private readonly IReadOnlyRepository _userRepository; 19 | 20 | public UsersService(IUnitOfWork unitOfWork, IReadOnlyRepository userRepository) 21 | { 22 | _unitOfWork = unitOfWork; 23 | _userRepository = userRepository; 24 | } 25 | 26 | public User GetUser(int id) 27 | { 28 | return _userRepository.FindById(id); 29 | } 30 | 31 | public IEnumerable GetUsers() 32 | { 33 | return _userRepository.GetAll(); 34 | } 35 | 36 | public IEnumerable GetNewUsers() 37 | { 38 | return _userRepository.GetNewUsers(); 39 | } 40 | 41 | public User CreateUser(User user) 42 | { 43 | _unitOfWork.UserRepository.Add(user); 44 | _unitOfWork.Save(); 45 | 46 | return user; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /HybridOrm.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HybridOrm.Model", "HybridOrm.Model\HybridOrm.Model.csproj", "{17724E46-9035-4783-878B-CA0801B9BC69}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HybridOrm.Repository.EF", "HybridOrm.EF\HybridOrm.Repository.EF.csproj", "{0B2882B5-FAD0-4C8B-9093-BC10FCE2D916}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HybridOrm.Repository.Dapper", "Hybrid.Orm.Repository.Dapper\HybridOrm.Repository.Dapper.csproj", "{DF6CE75D-FD97-4FAD-B597-5A2A4D9C3A63}" 9 | EndProject 10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HybridOrm.Services", "HybridOrm.Services\HybridOrm.Services.csproj", "{B874CEB6-A7D6-40F0-8A54-4E73B6660573}" 11 | EndProject 12 | Global 13 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 14 | Debug|Any CPU = Debug|Any CPU 15 | Release|Any CPU = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 18 | {17724E46-9035-4783-878B-CA0801B9BC69}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 19 | {17724E46-9035-4783-878B-CA0801B9BC69}.Debug|Any CPU.Build.0 = Debug|Any CPU 20 | {17724E46-9035-4783-878B-CA0801B9BC69}.Release|Any CPU.ActiveCfg = Release|Any CPU 21 | {17724E46-9035-4783-878B-CA0801B9BC69}.Release|Any CPU.Build.0 = Release|Any CPU 22 | {0B2882B5-FAD0-4C8B-9093-BC10FCE2D916}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 23 | {0B2882B5-FAD0-4C8B-9093-BC10FCE2D916}.Debug|Any CPU.Build.0 = Debug|Any CPU 24 | {0B2882B5-FAD0-4C8B-9093-BC10FCE2D916}.Release|Any CPU.ActiveCfg = Release|Any CPU 25 | {0B2882B5-FAD0-4C8B-9093-BC10FCE2D916}.Release|Any CPU.Build.0 = Release|Any CPU 26 | {DF6CE75D-FD97-4FAD-B597-5A2A4D9C3A63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 27 | {DF6CE75D-FD97-4FAD-B597-5A2A4D9C3A63}.Debug|Any CPU.Build.0 = Debug|Any CPU 28 | {DF6CE75D-FD97-4FAD-B597-5A2A4D9C3A63}.Release|Any CPU.ActiveCfg = Release|Any CPU 29 | {DF6CE75D-FD97-4FAD-B597-5A2A4D9C3A63}.Release|Any CPU.Build.0 = Release|Any CPU 30 | {B874CEB6-A7D6-40F0-8A54-4E73B6660573}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 31 | {B874CEB6-A7D6-40F0-8A54-4E73B6660573}.Debug|Any CPU.Build.0 = Debug|Any CPU 32 | {B874CEB6-A7D6-40F0-8A54-4E73B6660573}.Release|Any CPU.ActiveCfg = Release|Any CPU 33 | {B874CEB6-A7D6-40F0-8A54-4E73B6660573}.Release|Any CPU.Build.0 = Release|Any CPU 34 | EndGlobalSection 35 | GlobalSection(SolutionProperties) = preSolution 36 | HideSolutionNode = FALSE 37 | EndGlobalSection 38 | EndGlobal 39 | -------------------------------------------------------------------------------- /packages/Dapper.1.13/Dapper.1.13.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbraithwaite/HybridOrm/f93fdba746ce23a7bf66bd4e9a588f4f18056702/packages/Dapper.1.13/Dapper.1.13.nupkg -------------------------------------------------------------------------------- /packages/Dapper.1.13/lib/net35/Dapper.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbraithwaite/HybridOrm/f93fdba746ce23a7bf66bd4e9a588f4f18056702/packages/Dapper.1.13/lib/net35/Dapper.dll -------------------------------------------------------------------------------- /packages/Dapper.1.13/lib/net35/Dapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dapper 5 | 6 | 7 | 8 | 9 | Dapper, a light weight object mapper for ADO.NET 10 | 11 | 12 | 13 | 14 | Purge the query cache 15 | 16 | 17 | 18 | 19 | Configire the specified type to be mapped to a given db-type 20 | 21 | 22 | 23 | 24 | Execute parameterized SQL 25 | 26 | Number of rows affected 27 | 28 | 29 | 30 | Execute parameterized SQL 31 | 32 | Number of rows affected 33 | 34 | 35 | 36 | Execute parameterized SQL 37 | 38 | Number of rows affected 39 | 40 | 41 | 42 | Execute parameterized SQL 43 | 44 | Number of rows affected 45 | 46 | 47 | 48 | Executes a query, returning the data typed as per T 49 | 50 | A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is 51 | created per row, and a direct column-name===member-name mapping is assumed (case insensitive). 52 | 53 | 54 | 55 | 56 | Executes a query, returning the data typed as per T 57 | 58 | A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is 59 | created per row, and a direct column-name===member-name mapping is assumed (case insensitive). 60 | 61 | 62 | 63 | 64 | Executes a query, returning the data typed as per T 65 | 66 | A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is 67 | created per row, and a direct column-name===member-name mapping is assumed (case insensitive). 68 | 69 | 70 | 71 | 72 | Executes a query, returning the data typed as per T 73 | 74 | A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is 75 | created per row, and a direct column-name===member-name mapping is assumed (case insensitive). 76 | 77 | 78 | 79 | 80 | Execute a command that returns multiple result sets, and access each in turn 81 | 82 | 83 | 84 | 85 | Execute a command that returns multiple result sets, and access each in turn 86 | 87 | 88 | 89 | 90 | Execute a command that returns multiple result sets, and access each in turn 91 | 92 | 93 | 94 | 95 | Execute parameterized SQL 96 | 97 | Number of rows affected 98 | 99 | 100 | 101 | Return a list of dynamic objects, reader is closed after the call 102 | 103 | 104 | 105 | 106 | Return a list of dynamic objects, reader is closed after the call 107 | 108 | 109 | 110 | 111 | Return a list of dynamic objects, reader is closed after the call 112 | 113 | 114 | 115 | 116 | Return a list of dynamic objects, reader is closed after the call 117 | 118 | 119 | 120 | 121 | Return a list of dynamic objects, reader is closed after the call 122 | 123 | 124 | 125 | 126 | Executes a query, returning the data typed as per T 127 | 128 | the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object 129 | A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is 130 | created per row, and a direct column-name===member-name mapping is assumed (case insensitive). 131 | 132 | 133 | 134 | 135 | Execute a command that returns multiple result sets, and access each in turn 136 | 137 | 138 | 139 | 140 | Return a typed list of objects, reader is closed after the call 141 | 142 | 143 | 144 | 145 | Maps a query to objects 146 | 147 | The first type in the recordset 148 | The second type in the recordset 149 | The return type 150 | 151 | 152 | 153 | 154 | 155 | 156 | The Field we should split and read the second object from (default: id) 157 | Number of seconds before command execution timeout 158 | Is it a stored proc or a batch? 159 | 160 | 161 | 162 | 163 | Maps a query to objects 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | The Field we should split and read the second object from (default: id) 176 | Number of seconds before command execution timeout 177 | 178 | 179 | 180 | 181 | 182 | Perform a multi mapping query with 4 input parameters 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | Internal use only 203 | 204 | 205 | 206 | 207 | 208 | 209 | Internal use only 210 | 211 | 212 | 213 | 214 | Internal use only 215 | 216 | 217 | 218 | 219 | Internal use only 220 | 221 | 222 | 223 | 224 | Internal use only 225 | 226 | 227 | 228 | 229 | Gets type-map for the given type 230 | 231 | Type map implementation, DefaultTypeMap instance if no override present 232 | 233 | 234 | 235 | Set custom mapping for type deserializers 236 | 237 | Entity type to override 238 | Mapping rules impementation, null to remove custom map 239 | 240 | 241 | 242 | Internal use only 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | Throws a data exception, only used internally 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | Called if the query cache is purged via PurgeQueryCache 262 | 263 | 264 | 265 | 266 | How should connection strings be compared for equivalence? Defaults to StringComparer.Ordinal. 267 | Providing a custom implementation can be useful for allowing multi-tenancy databases with identical 268 | schema to share startegies. Note that usual equivalence rules apply: any equivalent connection strings 269 | MUST yield the same hash-code. 270 | 271 | 272 | 273 | 274 | Implement this interface to pass an arbitrary db specific set of parameters to Dapper 275 | 276 | 277 | 278 | 279 | Add all the parameters needed to the command just before it executes 280 | 281 | The raw command prior to execution 282 | Information about the query 283 | 284 | 285 | 286 | Implement this interface to pass an arbitrary db specific parameter to Dapper 287 | 288 | 289 | 290 | 291 | Add the parameter needed to the command before it executes 292 | 293 | The raw command prior to execution 294 | Parameter name 295 | 296 | 297 | 298 | Implement this interface to change default mapping of reader columns to type memebers 299 | 300 | 301 | 302 | 303 | Finds best constructor 304 | 305 | DataReader column names 306 | DataReader column types 307 | Matching constructor or default one 308 | 309 | 310 | 311 | Gets mapping for constructor parameter 312 | 313 | Constructor to resolve 314 | DataReader column name 315 | Mapping implementation 316 | 317 | 318 | 319 | Gets member mapping for column 320 | 321 | DataReader column name 322 | Mapping implementation 323 | 324 | 325 | 326 | Implements this interface to provide custom member mapping 327 | 328 | 329 | 330 | 331 | Source DataReader column name 332 | 333 | 334 | 335 | 336 | Target member type 337 | 338 | 339 | 340 | 341 | Target property 342 | 343 | 344 | 345 | 346 | Target field 347 | 348 | 349 | 350 | 351 | Target constructor parameter 352 | 353 | 354 | 355 | 356 | This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), 357 | and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** 358 | equality. The type is fully thread-safe. 359 | 360 | 361 | 362 | 363 | Identity of a cached query in Dapper, used for extensability 364 | 365 | 366 | 367 | 368 | Create an identity for use with DynamicParameters, internal use only 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | The sql 383 | 384 | 385 | 386 | 387 | The command type 388 | 389 | 390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 419 | 420 | 421 | 422 | 423 | Compare 2 Identity objects 424 | 425 | 426 | 427 | 428 | 429 | 430 | The grid reader provides interfaces for reading multiple result sets from a Dapper query 431 | 432 | 433 | 434 | 435 | Read the next grid of results 436 | 437 | 438 | 439 | 440 | Read the next grid of results 441 | 442 | 443 | 444 | 445 | Read multiple objects from a single recordset on the grid 446 | 447 | 448 | 449 | 450 | Read multiple objects from a single recordset on the grid 451 | 452 | 453 | 454 | 455 | Read multiple objects from a single recordset on the grid 456 | 457 | 458 | 459 | 460 | Read multiple objects from a single recordset on the grid 461 | 462 | 463 | 464 | 465 | Read multiple objects from a single record set on the grid 466 | 467 | 468 | 469 | 470 | Read multiple objects from a single record set on the grid 471 | 472 | 473 | 474 | 475 | Dispose the grid, closing and disposing both the underlying reader and command. 476 | 477 | 478 | 479 | 480 | A bag of parameters that can be passed to the Dapper Query and Execute methods 481 | 482 | 483 | 484 | 485 | construct a dynamic parameter bag 486 | 487 | 488 | 489 | 490 | construct a dynamic parameter bag 491 | 492 | can be an anonymous type or a DynamicParameters bag 493 | 494 | 495 | 496 | Append a whole object full of params to the dynamic 497 | EG: AddDynamicParams(new {A = 1, B = 2}) // will add property A and B to the dynamic 498 | 499 | 500 | 501 | 502 | 503 | Add a parameter to this dynamic parameter list 504 | 505 | 506 | 507 | 508 | 509 | 510 | 511 | 512 | 513 | Add all the parameters needed to the command just before it executes 514 | 515 | The raw command prior to execution 516 | Information about the query 517 | 518 | 519 | 520 | Get the value of a parameter 521 | 522 | 523 | 524 | The value, note DBNull.Value is not returned, instead the value is returned as null 525 | 526 | 527 | 528 | All the names of the param in the bag, use Get to yank them out 529 | 530 | 531 | 532 | 533 | This class represents a SQL string, it can be used if you need to denote your parameter is a Char vs VarChar vs nVarChar vs nChar 534 | 535 | 536 | 537 | 538 | Create a new DbString 539 | 540 | 541 | 542 | 543 | Add the parameter to the command... internal use only 544 | 545 | 546 | 547 | 548 | 549 | 550 | Ansi vs Unicode 551 | 552 | 553 | 554 | 555 | Fixed length 556 | 557 | 558 | 559 | 560 | Length of the string -1 for max 561 | 562 | 563 | 564 | 565 | The value of the string 566 | 567 | 568 | 569 | 570 | Handles variances in features per DBMS 571 | 572 | 573 | 574 | 575 | Dictionary of supported features index by connection type name 576 | 577 | 578 | 579 | 580 | Gets the featureset based on the passed connection 581 | 582 | 583 | 584 | 585 | True if the db supports array columns e.g. Postgresql 586 | 587 | 588 | 589 | 590 | Represents simple memeber map for one of target parameter or property or field to source DataReader column 591 | 592 | 593 | 594 | 595 | Creates instance for simple property mapping 596 | 597 | DataReader column name 598 | Target property 599 | 600 | 601 | 602 | Creates instance for simple field mapping 603 | 604 | DataReader column name 605 | Target property 606 | 607 | 608 | 609 | Creates instance for simple constructor parameter mapping 610 | 611 | DataReader column name 612 | Target constructor parameter 613 | 614 | 615 | 616 | DataReader column name 617 | 618 | 619 | 620 | 621 | Target member type 622 | 623 | 624 | 625 | 626 | Target property 627 | 628 | 629 | 630 | 631 | Target field 632 | 633 | 634 | 635 | 636 | Target constructor parameter 637 | 638 | 639 | 640 | 641 | Represents default type mapping strategy used by Dapper 642 | 643 | 644 | 645 | 646 | Creates default type map 647 | 648 | Entity type 649 | 650 | 651 | 652 | Finds best constructor 653 | 654 | DataReader column names 655 | DataReader column types 656 | Matching constructor or default one 657 | 658 | 659 | 660 | Gets mapping for constructor parameter 661 | 662 | Constructor to resolve 663 | DataReader column name 664 | Mapping implementation 665 | 666 | 667 | 668 | Gets member mapping for column 669 | 670 | DataReader column name 671 | Mapping implementation 672 | 673 | 674 | 675 | Implements custom property mapping by user provided criteria (usually presence of some custom attribute with column to member mapping) 676 | 677 | 678 | 679 | 680 | Creates custom property mapping 681 | 682 | Target entity type 683 | Property selector based on target type and DataReader column name 684 | 685 | 686 | 687 | Always returns default constructor 688 | 689 | DataReader column names 690 | DataReader column types 691 | Default constructor 692 | 693 | 694 | 695 | Not impelmeneted as far as default constructor used for all cases 696 | 697 | 698 | 699 | 700 | 701 | 702 | 703 | Returns property based on selector strategy 704 | 705 | DataReader column name 706 | Poperty member map 707 | 708 | 709 | 710 | -------------------------------------------------------------------------------- /packages/Dapper.1.13/lib/net40/Dapper.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbraithwaite/HybridOrm/f93fdba746ce23a7bf66bd4e9a588f4f18056702/packages/Dapper.1.13/lib/net40/Dapper.dll -------------------------------------------------------------------------------- /packages/Dapper.1.13/lib/net40/Dapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dapper 5 | 6 | 7 | 8 | 9 | Dapper, a light weight object mapper for ADO.NET 10 | 11 | 12 | 13 | 14 | Purge the query cache 15 | 16 | 17 | 18 | 19 | Return a count of all the cached queries by dapper 20 | 21 | 22 | 23 | 24 | 25 | Return a list of all the queries cached by dapper 26 | 27 | 28 | 29 | 30 | 31 | 32 | Deep diagnostics only: find any hash collisions in the cache 33 | 34 | 35 | 36 | 37 | 38 | Configire the specified type to be mapped to a given db-type 39 | 40 | 41 | 42 | 43 | Execute parameterized SQL 44 | 45 | Number of rows affected 46 | 47 | 48 | 49 | Return a list of dynamic objects, reader is closed after the call 50 | 51 | 52 | 53 | 54 | Executes a query, returning the data typed as per T 55 | 56 | the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object 57 | A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is 58 | created per row, and a direct column-name===member-name mapping is assumed (case insensitive). 59 | 60 | 61 | 62 | 63 | Execute a command that returns multiple result sets, and access each in turn 64 | 65 | 66 | 67 | 68 | Return a typed list of objects, reader is closed after the call 69 | 70 | 71 | 72 | 73 | Maps a query to objects 74 | 75 | The first type in the recordset 76 | The second type in the recordset 77 | The return type 78 | 79 | 80 | 81 | 82 | 83 | 84 | The Field we should split and read the second object from (default: id) 85 | Number of seconds before command execution timeout 86 | Is it a stored proc or a batch? 87 | 88 | 89 | 90 | 91 | Maps a query to objects 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | The Field we should split and read the second object from (default: id) 104 | Number of seconds before command execution timeout 105 | 106 | 107 | 108 | 109 | 110 | Perform a multi mapping query with 4 input parameters 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | Perform a multi mapping query with 5 input parameters 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | Perform a multi mapping query with 6 input parameters 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | Perform a multi mapping query with 7 input parameters 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | Internal use only 197 | 198 | 199 | 200 | 201 | 202 | 203 | Internal use only 204 | 205 | 206 | 207 | 208 | Internal use only 209 | 210 | 211 | 212 | 213 | Internal use only 214 | 215 | 216 | 217 | 218 | Internal use only 219 | 220 | 221 | 222 | 223 | Gets type-map for the given type 224 | 225 | Type map implementation, DefaultTypeMap instance if no override present 226 | 227 | 228 | 229 | Set custom mapping for type deserializers 230 | 231 | Entity type to override 232 | Mapping rules impementation, null to remove custom map 233 | 234 | 235 | 236 | Internal use only 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | Throws a data exception, only used internally 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | Called if the query cache is purged via PurgeQueryCache 256 | 257 | 258 | 259 | 260 | How should connection strings be compared for equivalence? Defaults to StringComparer.Ordinal. 261 | Providing a custom implementation can be useful for allowing multi-tenancy databases with identical 262 | schema to share startegies. Note that usual equivalence rules apply: any equivalent connection strings 263 | MUST yield the same hash-code. 264 | 265 | 266 | 267 | 268 | Implement this interface to pass an arbitrary db specific set of parameters to Dapper 269 | 270 | 271 | 272 | 273 | Add all the parameters needed to the command just before it executes 274 | 275 | The raw command prior to execution 276 | Information about the query 277 | 278 | 279 | 280 | Implement this interface to pass an arbitrary db specific parameter to Dapper 281 | 282 | 283 | 284 | 285 | Add the parameter needed to the command before it executes 286 | 287 | The raw command prior to execution 288 | Parameter name 289 | 290 | 291 | 292 | Implement this interface to change default mapping of reader columns to type memebers 293 | 294 | 295 | 296 | 297 | Finds best constructor 298 | 299 | DataReader column names 300 | DataReader column types 301 | Matching constructor or default one 302 | 303 | 304 | 305 | Gets mapping for constructor parameter 306 | 307 | Constructor to resolve 308 | DataReader column name 309 | Mapping implementation 310 | 311 | 312 | 313 | Gets member mapping for column 314 | 315 | DataReader column name 316 | Mapping implementation 317 | 318 | 319 | 320 | Implements this interface to provide custom member mapping 321 | 322 | 323 | 324 | 325 | Source DataReader column name 326 | 327 | 328 | 329 | 330 | Target member type 331 | 332 | 333 | 334 | 335 | Target property 336 | 337 | 338 | 339 | 340 | Target field 341 | 342 | 343 | 344 | 345 | Target constructor parameter 346 | 347 | 348 | 349 | 350 | This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), 351 | and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** 352 | equality. The type is fully thread-safe. 353 | 354 | 355 | 356 | 357 | Identity of a cached query in Dapper, used for extensability 358 | 359 | 360 | 361 | 362 | Create an identity for use with DynamicParameters, internal use only 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | The sql 377 | 378 | 379 | 380 | 381 | The command type 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | Compare 2 Identity objects 418 | 419 | 420 | 421 | 422 | 423 | 424 | The grid reader provides interfaces for reading multiple result sets from a Dapper query 425 | 426 | 427 | 428 | 429 | Read the next grid of results, returned as a dynamic object 430 | 431 | 432 | 433 | 434 | Read the next grid of results 435 | 436 | 437 | 438 | 439 | Read multiple objects from a single recordset on the grid 440 | 441 | 442 | 443 | 444 | Read multiple objects from a single recordset on the grid 445 | 446 | 447 | 448 | 449 | Read multiple objects from a single record set on the grid 450 | 451 | 452 | 453 | 454 | Read multiple objects from a single record set on the grid 455 | 456 | 457 | 458 | 459 | Read multiple objects from a single record set on the grid 460 | 461 | 462 | 463 | 464 | Read multiple objects from a single record set on the grid 465 | 466 | 467 | 468 | 469 | Dispose the grid, closing and disposing both the underlying reader and command. 470 | 471 | 472 | 473 | 474 | A bag of parameters that can be passed to the Dapper Query and Execute methods 475 | 476 | 477 | 478 | 479 | construct a dynamic parameter bag 480 | 481 | 482 | 483 | 484 | construct a dynamic parameter bag 485 | 486 | can be an anonymous type or a DynamicParameters bag 487 | 488 | 489 | 490 | Append a whole object full of params to the dynamic 491 | EG: AddDynamicParams(new {A = 1, B = 2}) // will add property A and B to the dynamic 492 | 493 | 494 | 495 | 496 | 497 | Add a parameter to this dynamic parameter list 498 | 499 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | Add all the parameters needed to the command just before it executes 508 | 509 | The raw command prior to execution 510 | Information about the query 511 | 512 | 513 | 514 | Get the value of a parameter 515 | 516 | 517 | 518 | The value, note DBNull.Value is not returned, instead the value is returned as null 519 | 520 | 521 | 522 | All the names of the param in the bag, use Get to yank them out 523 | 524 | 525 | 526 | 527 | This class represents a SQL string, it can be used if you need to denote your parameter is a Char vs VarChar vs nVarChar vs nChar 528 | 529 | 530 | 531 | 532 | Create a new DbString 533 | 534 | 535 | 536 | 537 | Add the parameter to the command... internal use only 538 | 539 | 540 | 541 | 542 | 543 | 544 | Ansi vs Unicode 545 | 546 | 547 | 548 | 549 | Fixed length 550 | 551 | 552 | 553 | 554 | Length of the string -1 for max 555 | 556 | 557 | 558 | 559 | The value of the string 560 | 561 | 562 | 563 | 564 | Handles variances in features per DBMS 565 | 566 | 567 | 568 | 569 | Dictionary of supported features index by connection type name 570 | 571 | 572 | 573 | 574 | Gets the featureset based on the passed connection 575 | 576 | 577 | 578 | 579 | True if the db supports array columns e.g. Postgresql 580 | 581 | 582 | 583 | 584 | Represents simple memeber map for one of target parameter or property or field to source DataReader column 585 | 586 | 587 | 588 | 589 | Creates instance for simple property mapping 590 | 591 | DataReader column name 592 | Target property 593 | 594 | 595 | 596 | Creates instance for simple field mapping 597 | 598 | DataReader column name 599 | Target property 600 | 601 | 602 | 603 | Creates instance for simple constructor parameter mapping 604 | 605 | DataReader column name 606 | Target constructor parameter 607 | 608 | 609 | 610 | DataReader column name 611 | 612 | 613 | 614 | 615 | Target member type 616 | 617 | 618 | 619 | 620 | Target property 621 | 622 | 623 | 624 | 625 | Target field 626 | 627 | 628 | 629 | 630 | Target constructor parameter 631 | 632 | 633 | 634 | 635 | Represents default type mapping strategy used by Dapper 636 | 637 | 638 | 639 | 640 | Creates default type map 641 | 642 | Entity type 643 | 644 | 645 | 646 | Finds best constructor 647 | 648 | DataReader column names 649 | DataReader column types 650 | Matching constructor or default one 651 | 652 | 653 | 654 | Gets mapping for constructor parameter 655 | 656 | Constructor to resolve 657 | DataReader column name 658 | Mapping implementation 659 | 660 | 661 | 662 | Gets member mapping for column 663 | 664 | DataReader column name 665 | Mapping implementation 666 | 667 | 668 | 669 | Implements custom property mapping by user provided criteria (usually presence of some custom attribute with column to member mapping) 670 | 671 | 672 | 673 | 674 | Creates custom property mapping 675 | 676 | Target entity type 677 | Property selector based on target type and DataReader column name 678 | 679 | 680 | 681 | Always returns default constructor 682 | 683 | DataReader column names 684 | DataReader column types 685 | Default constructor 686 | 687 | 688 | 689 | Not impelmeneted as far as default constructor used for all cases 690 | 691 | 692 | 693 | 694 | 695 | 696 | 697 | Returns property based on selector strategy 698 | 699 | DataReader column name 700 | Poperty member map 701 | 702 | 703 | 704 | -------------------------------------------------------------------------------- /packages/Dapper.1.13/lib/net45/Dapper.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbraithwaite/HybridOrm/f93fdba746ce23a7bf66bd4e9a588f4f18056702/packages/Dapper.1.13/lib/net45/Dapper.dll -------------------------------------------------------------------------------- /packages/Dapper.1.13/lib/net45/Dapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dapper 5 | 6 | 7 | 8 | 9 | Dapper, a light weight object mapper for ADO.NET 10 | 11 | 12 | 13 | 14 | Purge the query cache 15 | 16 | 17 | 18 | 19 | Return a count of all the cached queries by dapper 20 | 21 | 22 | 23 | 24 | 25 | Return a list of all the queries cached by dapper 26 | 27 | 28 | 29 | 30 | 31 | 32 | Deep diagnostics only: find any hash collisions in the cache 33 | 34 | 35 | 36 | 37 | 38 | Configire the specified type to be mapped to a given db-type 39 | 40 | 41 | 42 | 43 | Execute parameterized SQL 44 | 45 | Number of rows affected 46 | 47 | 48 | 49 | Return a list of dynamic objects, reader is closed after the call 50 | 51 | 52 | 53 | 54 | Executes a query, returning the data typed as per T 55 | 56 | the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object 57 | A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is 58 | created per row, and a direct column-name===member-name mapping is assumed (case insensitive). 59 | 60 | 61 | 62 | 63 | Execute a command that returns multiple result sets, and access each in turn 64 | 65 | 66 | 67 | 68 | Return a typed list of objects, reader is closed after the call 69 | 70 | 71 | 72 | 73 | Maps a query to objects 74 | 75 | The first type in the recordset 76 | The second type in the recordset 77 | The return type 78 | 79 | 80 | 81 | 82 | 83 | 84 | The Field we should split and read the second object from (default: id) 85 | Number of seconds before command execution timeout 86 | Is it a stored proc or a batch? 87 | 88 | 89 | 90 | 91 | Maps a query to objects 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | The Field we should split and read the second object from (default: id) 104 | Number of seconds before command execution timeout 105 | 106 | 107 | 108 | 109 | 110 | Perform a multi mapping query with 4 input parameters 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | Perform a multi mapping query with 5 input parameters 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | Perform a multi mapping query with 6 input parameters 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | Perform a multi mapping query with 7 input parameters 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | Internal use only 197 | 198 | 199 | 200 | 201 | 202 | 203 | Internal use only 204 | 205 | 206 | 207 | 208 | Internal use only 209 | 210 | 211 | 212 | 213 | Internal use only 214 | 215 | 216 | 217 | 218 | Internal use only 219 | 220 | 221 | 222 | 223 | Gets type-map for the given type 224 | 225 | Type map implementation, DefaultTypeMap instance if no override present 226 | 227 | 228 | 229 | Set custom mapping for type deserializers 230 | 231 | Entity type to override 232 | Mapping rules impementation, null to remove custom map 233 | 234 | 235 | 236 | Internal use only 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | Throws a data exception, only used internally 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | Execute a query asynchronously using .NET 4.5 Task. 256 | 257 | 258 | 259 | 260 | Maps a query to objects 261 | 262 | The first type in the recordset 263 | The second type in the recordset 264 | The return type 265 | 266 | 267 | 268 | 269 | 270 | 271 | The Field we should split and read the second object from (default: id) 272 | Number of seconds before command execution timeout 273 | Is it a stored proc or a batch? 274 | 275 | 276 | 277 | 278 | Maps a query to objects 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | The Field we should split and read the second object from (default: id) 291 | Number of seconds before command execution timeout 292 | 293 | 294 | 295 | 296 | 297 | Perform a multi mapping query with 4 input parameters 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | Perform a multi mapping query with 5 input parameters 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | Perform a multi mapping query with 6 input parameters 339 | 340 | 341 | 342 | 343 | 344 | 345 | 346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | Perform a multi mapping query with 7 input parameters 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383 | Called if the query cache is purged via PurgeQueryCache 384 | 385 | 386 | 387 | 388 | How should connection strings be compared for equivalence? Defaults to StringComparer.Ordinal. 389 | Providing a custom implementation can be useful for allowing multi-tenancy databases with identical 390 | schema to share startegies. Note that usual equivalence rules apply: any equivalent connection strings 391 | MUST yield the same hash-code. 392 | 393 | 394 | 395 | 396 | Implement this interface to pass an arbitrary db specific set of parameters to Dapper 397 | 398 | 399 | 400 | 401 | Add all the parameters needed to the command just before it executes 402 | 403 | The raw command prior to execution 404 | Information about the query 405 | 406 | 407 | 408 | Implement this interface to pass an arbitrary db specific parameter to Dapper 409 | 410 | 411 | 412 | 413 | Add the parameter needed to the command before it executes 414 | 415 | The raw command prior to execution 416 | Parameter name 417 | 418 | 419 | 420 | Implement this interface to change default mapping of reader columns to type memebers 421 | 422 | 423 | 424 | 425 | Finds best constructor 426 | 427 | DataReader column names 428 | DataReader column types 429 | Matching constructor or default one 430 | 431 | 432 | 433 | Gets mapping for constructor parameter 434 | 435 | Constructor to resolve 436 | DataReader column name 437 | Mapping implementation 438 | 439 | 440 | 441 | Gets member mapping for column 442 | 443 | DataReader column name 444 | Mapping implementation 445 | 446 | 447 | 448 | Implements this interface to provide custom member mapping 449 | 450 | 451 | 452 | 453 | Source DataReader column name 454 | 455 | 456 | 457 | 458 | Target member type 459 | 460 | 461 | 462 | 463 | Target property 464 | 465 | 466 | 467 | 468 | Target field 469 | 470 | 471 | 472 | 473 | Target constructor parameter 474 | 475 | 476 | 477 | 478 | This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), 479 | and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** 480 | equality. The type is fully thread-safe. 481 | 482 | 483 | 484 | 485 | Identity of a cached query in Dapper, used for extensability 486 | 487 | 488 | 489 | 490 | Create an identity for use with DynamicParameters, internal use only 491 | 492 | 493 | 494 | 495 | 496 | 497 | 498 | 499 | 500 | 501 | 502 | 503 | 504 | The sql 505 | 506 | 507 | 508 | 509 | The command type 510 | 511 | 512 | 513 | 514 | 515 | 516 | 517 | 518 | 519 | 520 | 521 | 522 | 523 | 524 | 525 | 526 | 527 | 528 | 529 | 530 | 531 | 532 | 533 | 534 | 535 | 536 | 537 | 538 | 539 | 540 | 541 | 542 | 543 | 544 | 545 | Compare 2 Identity objects 546 | 547 | 548 | 549 | 550 | 551 | 552 | The grid reader provides interfaces for reading multiple result sets from a Dapper query 553 | 554 | 555 | 556 | 557 | Read the next grid of results, returned as a dynamic object 558 | 559 | 560 | 561 | 562 | Read the next grid of results 563 | 564 | 565 | 566 | 567 | Read multiple objects from a single recordset on the grid 568 | 569 | 570 | 571 | 572 | Read multiple objects from a single recordset on the grid 573 | 574 | 575 | 576 | 577 | Read multiple objects from a single record set on the grid 578 | 579 | 580 | 581 | 582 | Read multiple objects from a single record set on the grid 583 | 584 | 585 | 586 | 587 | Read multiple objects from a single record set on the grid 588 | 589 | 590 | 591 | 592 | Read multiple objects from a single record set on the grid 593 | 594 | 595 | 596 | 597 | Dispose the grid, closing and disposing both the underlying reader and command. 598 | 599 | 600 | 601 | 602 | A bag of parameters that can be passed to the Dapper Query and Execute methods 603 | 604 | 605 | 606 | 607 | construct a dynamic parameter bag 608 | 609 | 610 | 611 | 612 | construct a dynamic parameter bag 613 | 614 | can be an anonymous type or a DynamicParameters bag 615 | 616 | 617 | 618 | Append a whole object full of params to the dynamic 619 | EG: AddDynamicParams(new {A = 1, B = 2}) // will add property A and B to the dynamic 620 | 621 | 622 | 623 | 624 | 625 | Add a parameter to this dynamic parameter list 626 | 627 | 628 | 629 | 630 | 631 | 632 | 633 | 634 | 635 | Add all the parameters needed to the command just before it executes 636 | 637 | The raw command prior to execution 638 | Information about the query 639 | 640 | 641 | 642 | Get the value of a parameter 643 | 644 | 645 | 646 | The value, note DBNull.Value is not returned, instead the value is returned as null 647 | 648 | 649 | 650 | All the names of the param in the bag, use Get to yank them out 651 | 652 | 653 | 654 | 655 | This class represents a SQL string, it can be used if you need to denote your parameter is a Char vs VarChar vs nVarChar vs nChar 656 | 657 | 658 | 659 | 660 | Create a new DbString 661 | 662 | 663 | 664 | 665 | Add the parameter to the command... internal use only 666 | 667 | 668 | 669 | 670 | 671 | 672 | Ansi vs Unicode 673 | 674 | 675 | 676 | 677 | Fixed length 678 | 679 | 680 | 681 | 682 | Length of the string -1 for max 683 | 684 | 685 | 686 | 687 | The value of the string 688 | 689 | 690 | 691 | 692 | Handles variances in features per DBMS 693 | 694 | 695 | 696 | 697 | Dictionary of supported features index by connection type name 698 | 699 | 700 | 701 | 702 | Gets the featureset based on the passed connection 703 | 704 | 705 | 706 | 707 | True if the db supports array columns e.g. Postgresql 708 | 709 | 710 | 711 | 712 | Represents simple memeber map for one of target parameter or property or field to source DataReader column 713 | 714 | 715 | 716 | 717 | Creates instance for simple property mapping 718 | 719 | DataReader column name 720 | Target property 721 | 722 | 723 | 724 | Creates instance for simple field mapping 725 | 726 | DataReader column name 727 | Target property 728 | 729 | 730 | 731 | Creates instance for simple constructor parameter mapping 732 | 733 | DataReader column name 734 | Target constructor parameter 735 | 736 | 737 | 738 | DataReader column name 739 | 740 | 741 | 742 | 743 | Target member type 744 | 745 | 746 | 747 | 748 | Target property 749 | 750 | 751 | 752 | 753 | Target field 754 | 755 | 756 | 757 | 758 | Target constructor parameter 759 | 760 | 761 | 762 | 763 | Represents default type mapping strategy used by Dapper 764 | 765 | 766 | 767 | 768 | Creates default type map 769 | 770 | Entity type 771 | 772 | 773 | 774 | Finds best constructor 775 | 776 | DataReader column names 777 | DataReader column types 778 | Matching constructor or default one 779 | 780 | 781 | 782 | Gets mapping for constructor parameter 783 | 784 | Constructor to resolve 785 | DataReader column name 786 | Mapping implementation 787 | 788 | 789 | 790 | Gets member mapping for column 791 | 792 | DataReader column name 793 | Mapping implementation 794 | 795 | 796 | 797 | Implements custom property mapping by user provided criteria (usually presence of some custom attribute with column to member mapping) 798 | 799 | 800 | 801 | 802 | Creates custom property mapping 803 | 804 | Target entity type 805 | Property selector based on target type and DataReader column name 806 | 807 | 808 | 809 | Always returns default constructor 810 | 811 | DataReader column names 812 | DataReader column types 813 | Default constructor 814 | 815 | 816 | 817 | Not impelmeneted as far as default constructor used for all cases 818 | 819 | 820 | 821 | 822 | 823 | 824 | 825 | Returns property based on selector strategy 826 | 827 | DataReader column name 828 | Poperty member map 829 | 830 | 831 | 832 | -------------------------------------------------------------------------------- /packages/EntityFramework.5.0.0/Content/App.config.transform: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/EntityFramework.5.0.0/Content/Web.config.transform: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/EntityFramework.5.0.0/EntityFramework.5.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbraithwaite/HybridOrm/f93fdba746ce23a7bf66bd4e9a588f4f18056702/packages/EntityFramework.5.0.0/EntityFramework.5.0.0.nupkg -------------------------------------------------------------------------------- /packages/EntityFramework.5.0.0/lib/net40/EntityFramework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbraithwaite/HybridOrm/f93fdba746ce23a7bf66bd4e9a588f4f18056702/packages/EntityFramework.5.0.0/lib/net40/EntityFramework.dll -------------------------------------------------------------------------------- /packages/EntityFramework.5.0.0/lib/net45/EntityFramework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbraithwaite/HybridOrm/f93fdba746ce23a7bf66bd4e9a588f4f18056702/packages/EntityFramework.5.0.0/lib/net45/EntityFramework.dll -------------------------------------------------------------------------------- /packages/EntityFramework.5.0.0/tools/EntityFramework.PS3.psd1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbraithwaite/HybridOrm/f93fdba746ce23a7bf66bd4e9a588f4f18056702/packages/EntityFramework.5.0.0/tools/EntityFramework.PS3.psd1 -------------------------------------------------------------------------------- /packages/EntityFramework.5.0.0/tools/EntityFramework.PowerShell.Utility.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbraithwaite/HybridOrm/f93fdba746ce23a7bf66bd4e9a588f4f18056702/packages/EntityFramework.5.0.0/tools/EntityFramework.PowerShell.Utility.dll -------------------------------------------------------------------------------- /packages/EntityFramework.5.0.0/tools/EntityFramework.PowerShell.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbraithwaite/HybridOrm/f93fdba746ce23a7bf66bd4e9a588f4f18056702/packages/EntityFramework.5.0.0/tools/EntityFramework.PowerShell.dll -------------------------------------------------------------------------------- /packages/EntityFramework.5.0.0/tools/EntityFramework.psd1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbraithwaite/HybridOrm/f93fdba746ce23a7bf66bd4e9a588f4f18056702/packages/EntityFramework.5.0.0/tools/EntityFramework.psd1 -------------------------------------------------------------------------------- /packages/EntityFramework.5.0.0/tools/EntityFramework.psm1: -------------------------------------------------------------------------------- 1 | # Copyright (c) Microsoft Corporation. All rights reserved. 2 | 3 | $InitialDatabase = '0' 4 | 5 | $knownExceptions = @( 6 | 'System.Data.Entity.Migrations.Infrastructure.MigrationsException', 7 | 'System.Data.Entity.Migrations.Infrastructure.AutomaticMigrationsDisabledException', 8 | 'System.Data.Entity.Migrations.Infrastructure.AutomaticDataLossException', 9 | 'System.Data.Entity.Migrations.MigrationsPendingException', 10 | 'System.Data.Entity.Migrations.ProjectTypeNotSupportedException' 11 | ) 12 | 13 | <# 14 | .SYNOPSIS 15 | Enables Code First Migrations in a project. 16 | 17 | .DESCRIPTION 18 | Enables Migrations by scaffolding a migrations configuration class in the project. If the 19 | target database was created by an initializer, an initial migration will be created (unless 20 | automatic migrations are enabled via the EnableAutomaticMigrations parameter). 21 | 22 | .PARAMETER ContextTypeName 23 | Specifies the context to use. If omitted, migrations will attempt to locate a 24 | single context type in the target project. 25 | 26 | .PARAMETER EnableAutomaticMigrations 27 | Specifies whether automatic migrations will be enabled in the scaffolded migrations configuration. 28 | If ommitted, automatic migrations will be disabled. 29 | 30 | .PARAMETER ProjectName 31 | Specifies the project that the scaffolded migrations configuration class will 32 | be added to. If omitted, the default project selected in package manager 33 | console is used. 34 | 35 | .PARAMETER StartUpProjectName 36 | Specifies the configuration file to use for named connection strings. If 37 | omitted, the specified project's configuration file is used. 38 | 39 | .PARAMETER ConnectionStringName 40 | Specifies the name of a connection string to use from the application's 41 | configuration file. 42 | 43 | .PARAMETER ConnectionString 44 | Specifies the the connection string to use. If omitted, the context's 45 | default connection will be used. 46 | 47 | .PARAMETER ConnectionProviderName 48 | Specifies the provider invariant name of the connection string. 49 | 50 | .PARAMETER Force 51 | Specifies that the migrations configuration be overwritten when running more 52 | than once for a given project. 53 | #> 54 | function Enable-Migrations 55 | { 56 | [CmdletBinding(DefaultParameterSetName = 'ConnectionStringName')] 57 | param ( 58 | [string] $ContextTypeName, 59 | [alias('Auto')] 60 | [switch] $EnableAutomaticMigrations, 61 | [string] $ProjectName, 62 | [string] $StartUpProjectName, 63 | [parameter(ParameterSetName = 'ConnectionStringName')] 64 | [string] $ConnectionStringName, 65 | [parameter(ParameterSetName = 'ConnectionStringAndProviderName', 66 | Mandatory = $true)] 67 | [string] $ConnectionString, 68 | [parameter(ParameterSetName = 'ConnectionStringAndProviderName', 69 | Mandatory = $true)] 70 | [string] $ConnectionProviderName, 71 | [switch] $Force 72 | ) 73 | 74 | $runner = New-MigrationsRunner $ProjectName $StartUpProjectName $null $ConnectionStringName $ConnectionString $ConnectionProviderName 75 | 76 | try 77 | { 78 | Invoke-RunnerCommand $runner System.Data.Entity.Migrations.EnableMigrationsCommand @( $EnableAutomaticMigrations.IsPresent, $Force.IsPresent ) @{ 'ContextTypeName' = $ContextTypeName } 79 | $error = Get-RunnerError $runner 80 | 81 | if ($error) 82 | { 83 | if ($knownExceptions -notcontains $error.TypeName) 84 | { 85 | Write-Host $error.StackTrace 86 | } 87 | 88 | throw $error.Message 89 | } 90 | } 91 | finally 92 | { 93 | Remove-Runner $runner 94 | } 95 | } 96 | 97 | <# 98 | .SYNOPSIS 99 | Scaffolds a migration script for any pending model changes. 100 | 101 | .DESCRIPTION 102 | Scaffolds a new migration script and adds it to the project. 103 | 104 | .PARAMETER Name 105 | Specifies the name of the custom script. 106 | 107 | .PARAMETER Force 108 | Specifies that the migration user code be overwritten when re-scaffolding an 109 | existing migration. 110 | 111 | .PARAMETER ProjectName 112 | Specifies the project that contains the migration configuration type to be 113 | used. If ommitted, the default project selected in package manager console 114 | is used. 115 | 116 | .PARAMETER StartUpProjectName 117 | Specifies the configuration file to use for named connection strings. If 118 | omitted, the specified project's configuration file is used. 119 | 120 | .PARAMETER ConfigurationTypeName 121 | Specifies the migrations configuration to use. If omitted, migrations will 122 | attempt to locate a single migrations configuration type in the target 123 | project. 124 | 125 | .PARAMETER ConnectionStringName 126 | Specifies the name of a connection string to use from the application's 127 | configuration file. 128 | 129 | .PARAMETER ConnectionString 130 | Specifies the the connection string to use. If omitted, the context's 131 | default connection will be used. 132 | 133 | .PARAMETER ConnectionProviderName 134 | Specifies the provider invariant name of the connection string. 135 | 136 | .PARAMETER IgnoreChanges 137 | Scaffolds an empty migration ignoring any pending changes detected in the current model. 138 | This can be used to create an initial, empty migration to enable Migrations for an existing 139 | database. N.B. Doing this assumes that the target database schema is compatible with the 140 | current model. 141 | 142 | #> 143 | function Add-Migration 144 | { 145 | [CmdletBinding(DefaultParameterSetName = 'ConnectionStringName')] 146 | param ( 147 | [parameter(Position = 0, 148 | Mandatory = $true)] 149 | [string] $Name, 150 | [switch] $Force, 151 | [string] $ProjectName, 152 | [string] $StartUpProjectName, 153 | [string] $ConfigurationTypeName, 154 | [parameter(ParameterSetName = 'ConnectionStringName')] 155 | [string] $ConnectionStringName, 156 | [parameter(ParameterSetName = 'ConnectionStringAndProviderName', 157 | Mandatory = $true)] 158 | [string] $ConnectionString, 159 | [parameter(ParameterSetName = 'ConnectionStringAndProviderName', 160 | Mandatory = $true)] 161 | [string] $ConnectionProviderName, 162 | [switch] $IgnoreChanges) 163 | 164 | $runner = New-MigrationsRunner $ProjectName $StartUpProjectName $ConfigurationTypeName $ConnectionStringName $ConnectionString $ConnectionProviderName 165 | 166 | try 167 | { 168 | Invoke-RunnerCommand $runner System.Data.Entity.Migrations.AddMigrationCommand @( $Name, $Force.IsPresent, $IgnoreChanges.IsPresent ) 169 | $error = Get-RunnerError $runner 170 | 171 | if ($error) 172 | { 173 | if ($knownExceptions -notcontains $error.TypeName) 174 | { 175 | Write-Host $error.StackTrace 176 | } 177 | 178 | throw $error.Message 179 | } 180 | } 181 | finally 182 | { 183 | Remove-Runner $runner 184 | } 185 | } 186 | 187 | <# 188 | .SYNOPSIS 189 | Applies any pending migrations to the database. 190 | 191 | .DESCRIPTION 192 | Updates the database to the current model by applying pending migrations. 193 | 194 | .PARAMETER SourceMigration 195 | Only valid with -Script. Specifies the name of a particular migration to use 196 | as the update's starting point. If ommitted, the last applied migration in 197 | the database will be used. 198 | 199 | .PARAMETER TargetMigration 200 | Specifies the name of a particular migration to update the database to. If 201 | ommitted, the current model will be used. 202 | 203 | .PARAMETER Script 204 | Generate a SQL script rather than executing the pending changes directly. 205 | 206 | .PARAMETER Force 207 | Specifies that data loss is acceptable during automatic migration of the 208 | database. 209 | 210 | .PARAMETER ProjectName 211 | Specifies the project that contains the migration configuration type to be 212 | used. If ommitted, the default project selected in package manager console 213 | is used. 214 | 215 | .PARAMETER StartUpProjectName 216 | Specifies the configuration file to use for named connection strings. If 217 | omitted, the specified project's configuration file is used. 218 | 219 | .PARAMETER ConfigurationTypeName 220 | Specifies the migrations configuration to use. If omitted, migrations will 221 | attempt to locate a single migrations configuration type in the target 222 | project. 223 | 224 | .PARAMETER ConnectionStringName 225 | Specifies the name of a connection string to use from the application's 226 | configuration file. 227 | 228 | .PARAMETER ConnectionString 229 | Specifies the the connection string to use. If omitted, the context's 230 | default connection will be used. 231 | 232 | .PARAMETER ConnectionProviderName 233 | Specifies the provider invariant name of the connection string. 234 | #> 235 | function Update-Database 236 | { 237 | [CmdletBinding(DefaultParameterSetName = 'ConnectionStringName')] 238 | param ( 239 | [string] $SourceMigration, 240 | [string] $TargetMigration, 241 | [switch] $Script, 242 | [switch] $Force, 243 | [string] $ProjectName, 244 | [string] $StartUpProjectName, 245 | [string] $ConfigurationTypeName, 246 | [parameter(ParameterSetName = 'ConnectionStringName')] 247 | [string] $ConnectionStringName, 248 | [parameter(ParameterSetName = 'ConnectionStringAndProviderName', 249 | Mandatory = $true)] 250 | [string] $ConnectionString, 251 | [parameter(ParameterSetName = 'ConnectionStringAndProviderName', 252 | Mandatory = $true)] 253 | [string] $ConnectionProviderName) 254 | 255 | $runner = New-MigrationsRunner $ProjectName $StartUpProjectName $ConfigurationTypeName $ConnectionStringName $ConnectionString $ConnectionProviderName 256 | 257 | try 258 | { 259 | Invoke-RunnerCommand $runner System.Data.Entity.Migrations.UpdateDatabaseCommand @( $SourceMigration, $TargetMigration, $Script.IsPresent, $Force.IsPresent, $Verbose.IsPresent ) 260 | $error = Get-RunnerError $runner 261 | 262 | if ($error) 263 | { 264 | if ($knownExceptions -notcontains $error.TypeName) 265 | { 266 | Write-Host $error.StackTrace 267 | } 268 | 269 | throw $error.Message 270 | } 271 | } 272 | finally 273 | { 274 | Remove-Runner $runner 275 | } 276 | } 277 | 278 | <# 279 | .SYNOPSIS 280 | Displays the migrations that have been applied to the target database. 281 | 282 | .DESCRIPTION 283 | Displays the migrations that have been applied to the target database. 284 | 285 | .PARAMETER ProjectName 286 | Specifies the project that contains the migration configuration type to be 287 | used. If ommitted, the default project selected in package manager console 288 | is used. 289 | 290 | .PARAMETER StartUpProjectName 291 | Specifies the configuration file to use for named connection strings. If 292 | omitted, the specified project's configuration file is used. 293 | 294 | .PARAMETER ConfigurationTypeName 295 | Specifies the migrations configuration to use. If omitted, migrations will 296 | attempt to locate a single migrations configuration type in the target 297 | project. 298 | 299 | .PARAMETER ConnectionStringName 300 | Specifies the name of a connection string to use from the application's 301 | configuration file. 302 | 303 | .PARAMETER ConnectionString 304 | Specifies the the connection string to use. If omitted, the context's 305 | default connection will be used. 306 | 307 | .PARAMETER ConnectionProviderName 308 | Specifies the provider invariant name of the connection string. 309 | #> 310 | function Get-Migrations 311 | { 312 | [CmdletBinding(DefaultParameterSetName = 'ConnectionStringName')] 313 | param ( 314 | [string] $ProjectName, 315 | [string] $StartUpProjectName, 316 | [string] $ConfigurationTypeName, 317 | [parameter(ParameterSetName = 'ConnectionStringName')] 318 | [string] $ConnectionStringName, 319 | [parameter(ParameterSetName = 'ConnectionStringAndProviderName', 320 | Mandatory = $true)] 321 | [string] $ConnectionString, 322 | [parameter(ParameterSetName = 'ConnectionStringAndProviderName', 323 | Mandatory = $true)] 324 | [string] $ConnectionProviderName) 325 | 326 | $runner = New-MigrationsRunner $ProjectName $StartUpProjectName $ConfigurationTypeName $ConnectionStringName $ConnectionString $ConnectionProviderName 327 | 328 | try 329 | { 330 | Invoke-RunnerCommand $runner System.Data.Entity.Migrations.GetMigrationsCommand 331 | $error = Get-RunnerError $runner 332 | 333 | if ($error) 334 | { 335 | if ($knownExceptions -notcontains $error.TypeName) 336 | { 337 | Write-Host $error.StackTrace 338 | } 339 | 340 | throw $error.Message 341 | } 342 | } 343 | finally 344 | { 345 | Remove-Runner $runner 346 | } 347 | } 348 | 349 | function New-MigrationsRunner($ProjectName, $StartUpProjectName, $ConfigurationTypeName, $ConnectionStringName, $ConnectionString, $ConnectionProviderName) 350 | { 351 | $startUpProject = Get-MigrationsStartUpProject $StartUpProjectName $ProjectName 352 | Build-Project $startUpProject 353 | 354 | $project = Get-MigrationsProject $ProjectName 355 | Build-Project $project 356 | 357 | $installPath = Get-EntityFrameworkInstallPath $project 358 | $toolsPath = Join-Path $installPath tools 359 | 360 | $info = New-Object System.AppDomainSetup -Property @{ 361 | ShadowCopyFiles = 'true'; 362 | ApplicationBase = $installPath; 363 | PrivateBinPath = 'tools' 364 | } 365 | 366 | $targetFrameworkVersion = (New-Object System.Runtime.Versioning.FrameworkName ($project.Properties.Item('TargetFrameworkMoniker').Value)).Version 367 | 368 | if ($targetFrameworkVersion -lt (New-Object Version @( 4, 5 ))) 369 | { 370 | $info.PrivateBinPath += ';lib\net40' 371 | 372 | $dteVersion = [System.Text.RegularExpressions.Regex]::Match($DTE.Version, '^(?\d{1,2}(\.\d{1,2})?)( \(.+\))?$').Groups['version'].Value 373 | 374 | if ((New-Object Version $dteVersion) -lt (New-Object Version @( 11, 0 ))) 375 | { 376 | $info.ConfigurationFile = Join-Path $toolsPath 'Redirect.config' 377 | } 378 | else 379 | { 380 | $info.ConfigurationFile = Join-Path $toolsPath 'Redirect.VS11.config' 381 | } 382 | } 383 | else 384 | { 385 | $info.PrivateBinPath += ';lib\net45' 386 | $info.ConfigurationFile = [AppDomain]::CurrentDomain.SetupInformation.ConfigurationFile 387 | } 388 | 389 | $domain = [AppDomain]::CreateDomain('Migrations', $null, $info) 390 | $domain.SetData('project', $project) 391 | $domain.SetData('startUpProject', $startUpProject) 392 | $domain.SetData('configurationTypeName', $ConfigurationTypeName) 393 | $domain.SetData('connectionStringName', $ConnectionStringName) 394 | $domain.SetData('connectionString', $ConnectionString) 395 | $domain.SetData('connectionProviderName', $ConnectionProviderName) 396 | 397 | [AppDomain]::CurrentDomain.SetShadowCopyFiles() 398 | $utilityAssembly = [System.Reflection.Assembly]::LoadFrom((Join-Path $toolsPath EntityFramework.PowerShell.Utility.dll)) 399 | $dispatcher = $utilityAssembly.CreateInstance( 400 | 'System.Data.Entity.Migrations.Utilities.DomainDispatcher', 401 | $false, 402 | [System.Reflection.BindingFlags]::Instance -bor [System.Reflection.BindingFlags]::Public, 403 | $null, 404 | $PSCmdlet, 405 | $null, 406 | $null) 407 | $domain.SetData('efDispatcher', $dispatcher) 408 | 409 | return @{ 410 | Domain = $domain; 411 | ToolsPath = $toolsPath 412 | } 413 | } 414 | 415 | function Remove-Runner($runner) 416 | { 417 | [AppDomain]::Unload($runner.Domain) 418 | } 419 | 420 | function Invoke-RunnerCommand($runner, $command, $parameters, $anonymousArguments) 421 | { 422 | $domain = $runner.Domain 423 | 424 | if ($anonymousArguments) 425 | { 426 | $anonymousArguments.GetEnumerator() | %{ 427 | $domain.SetData($_.Name, $_.Value) 428 | } 429 | } 430 | 431 | $domain.CreateInstanceFrom( 432 | (Join-Path $runner.ToolsPath EntityFramework.PowerShell.dll), 433 | $command, 434 | $false, 435 | 0, 436 | $null, 437 | $parameters, 438 | $null, 439 | $null) | Out-Null 440 | } 441 | 442 | function Get-RunnerError($runner) 443 | { 444 | $domain = $runner.Domain 445 | 446 | if (!$domain.GetData('wasError')) 447 | { 448 | return $null 449 | } 450 | 451 | return @{ 452 | Message = $domain.GetData('error.Message'); 453 | TypeName = $domain.GetData('error.TypeName'); 454 | StackTrace = $domain.GetData('error.StackTrace') 455 | } 456 | } 457 | 458 | function Get-MigrationsProject($name, $hideMessage) 459 | { 460 | if ($name) 461 | { 462 | return Get-SingleProject $name 463 | } 464 | 465 | $project = Get-Project 466 | $projectName = $project.Name 467 | 468 | if (!$hideMessage) 469 | { 470 | Write-Verbose "Using NuGet project '$projectName'." 471 | } 472 | 473 | return $project 474 | } 475 | 476 | function Get-MigrationsStartUpProject($name, $fallbackName) 477 | { 478 | $startUpProject = $null 479 | 480 | if ($name) 481 | { 482 | $startUpProject = Get-SingleProject $name 483 | } 484 | else 485 | { 486 | $startupProjectPaths = $DTE.Solution.SolutionBuild.StartupProjects 487 | 488 | if ($startupProjectPaths) 489 | { 490 | if ($startupProjectPaths.Length -eq 1) 491 | { 492 | $startupProjectPath = $startupProjectPaths[0] 493 | 494 | if (!(Split-Path -IsAbsolute $startupProjectPath)) 495 | { 496 | $solutionPath = Split-Path $DTE.Solution.Properties.Item('Path').Value 497 | $startupProjectPath = Join-Path $solutionPath $startupProjectPath -Resolve 498 | } 499 | 500 | $startupProject = Get-SolutionProjects | ?{ 501 | try 502 | { 503 | $fullName = $_.FullName 504 | } 505 | catch [NotImplementedException] 506 | { 507 | return false; 508 | } 509 | 510 | if ($fullName -and $fullName.EndsWith('\')) 511 | { 512 | $fullName = $fullName.Substring(0, $fullName.Length - 1) 513 | } 514 | 515 | return $fullName -eq $startupProjectPath 516 | } 517 | } 518 | else 519 | { 520 | Write-Verbose 'More than one start-up project found.' 521 | } 522 | } 523 | else 524 | { 525 | Write-Verbose 'No start-up project found.' 526 | } 527 | } 528 | 529 | if (!($startUpProject -and (Test-StartUpProject $startUpProject))) 530 | { 531 | $startUpProject = Get-MigrationsProject $fallbackName $true 532 | $startUpProjectName = $startUpProject.Name 533 | 534 | 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." 535 | } 536 | else 537 | { 538 | $startUpProjectName = $startUpProject.Name 539 | 540 | Write-Verbose "Using StartUp project '$startUpProjectName'." 541 | } 542 | 543 | return $startUpProject 544 | } 545 | 546 | function Get-SolutionProjects() 547 | { 548 | $projects = New-Object System.Collections.Stack 549 | 550 | $DTE.Solution.Projects | %{ 551 | $projects.Push($_) 552 | } 553 | 554 | while ($projects.Count -ne 0) 555 | { 556 | $project = $projects.Pop(); 557 | 558 | # NOTE: This line is similar to doing a "yield return" in C# 559 | $project 560 | 561 | if ($project.ProjectItems) 562 | { 563 | $project.ProjectItems | ?{ $_.SubProject } | %{ 564 | $projects.Push($_.SubProject) 565 | } 566 | } 567 | } 568 | } 569 | 570 | function Get-SingleProject($name) 571 | { 572 | $project = Get-Project $name 573 | 574 | if ($project -is [array]) 575 | { 576 | throw "More than one project '$name' was found. Specify the full name of the one to use." 577 | } 578 | 579 | return $project 580 | } 581 | 582 | function Test-StartUpProject($project) 583 | { 584 | if ($project.Kind -eq '{cc5fd16d-436d-48ad-a40c-5a424c6e3e79}') 585 | { 586 | $projectName = $project.Name 587 | Write-Verbose "Cannot use start-up project '$projectName'. The Windows Azure Project type isn't supported." 588 | 589 | return $false 590 | } 591 | 592 | return $true 593 | } 594 | 595 | function Build-Project($project) 596 | { 597 | $configuration = $DTE.Solution.SolutionBuild.ActiveConfiguration.Name 598 | 599 | $DTE.Solution.SolutionBuild.BuildProject($configuration, $project.UniqueName, $true) 600 | 601 | if ($DTE.Solution.SolutionBuild.LastBuildInfo) 602 | { 603 | $projectName = $project.Name 604 | 605 | throw "The project '$projectName' failed to build." 606 | } 607 | } 608 | 609 | function Get-EntityFrameworkInstallPath($project) 610 | { 611 | $package = Get-Package -ProjectName $project.FullName | ?{ $_.Id -eq 'EntityFramework' } 612 | 613 | if (!$package) 614 | { 615 | $projectName = $project.Name 616 | 617 | throw "The EntityFramework package is not installed on project '$projectName'." 618 | } 619 | 620 | return Get-PackageInstallPath $package 621 | } 622 | 623 | function Get-PackageInstallPath($package) 624 | { 625 | $componentModel = Get-VsComponentModel 626 | $packageInstallerServices = $componentModel.GetService([NuGet.VisualStudio.IVsPackageInstallerServices]) 627 | 628 | $vsPackage = $packageInstallerServices.GetInstalledPackages() | ?{ $_.Id -eq $package.Id -and $_.Version -eq $package.Version } 629 | 630 | return $vsPackage.InstallPath 631 | } 632 | 633 | Export-ModuleMember @( 'Enable-Migrations', 'Add-Migration', 'Update-Database', 'Get-Migrations' ) -Variable InitialDatabase 634 | 635 | # SIG # Begin signature block 636 | # MIIaRgYJKoZIhvcNAQcCoIIaNzCCGjMCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB 637 | # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR 638 | # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUc46O5H/xCa1Zd+kKsDgAx0de 639 | # pNmgghUtMIIEoDCCA4igAwIBAgIKYRnMkwABAAAAZjANBgkqhkiG9w0BAQUFADB5 640 | # MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk 641 | # bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSMwIQYDVQQDExpN 642 | # aWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQTAeFw0xMTEwMTAyMDMyMjVaFw0xMzAx 643 | # MTAyMDMyMjVaMIGDMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ 644 | # MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u 645 | # MQ0wCwYDVQQLEwRNT1BSMR4wHAYDVQQDExVNaWNyb3NvZnQgQ29ycG9yYXRpb24w 646 | # ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDuW759ESTjhgbgZv9ItRe9 647 | # AuS0DDLwcj59LofXTqGxp0Mv92WeMeEyMUWu18EkhCHXLrWEfvo101Mc17ZRHk/O 648 | # ZrnrtwwC/SlcraiH9soitNW/CHX1inCPY9fvih7pj0MkZFrTh32QbTusds1XNn3o 649 | # vBBWrJjwiV0uZMavJgleHmMV8T2/Fo+ZiALDMLfBC2AfD3LM1reoNRKGm6ELCuaT 650 | # W476VJzB8xlfQo0Snx0/kLcnE4MZMoId89mH1CGyPKK2B0/XJKrujfWz2fr5OU+n 651 | # 6fKvWVL03EGbLxFwY93q3qrxbSEEEFMzu7JPxeFTskFlR2439rzpmxZBkWsuWzDD 652 | # AgMBAAGjggEdMIIBGTATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUG1IO 653 | # 8xEqt8CJwxGBPdSWWLmjU24wDgYDVR0PAQH/BAQDAgeAMB8GA1UdIwQYMBaAFMsR 654 | # 6MrStBZYAck3LjMWFrlMmgofMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu 655 | # bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY0NvZFNpZ1BDQV8wOC0z 656 | # MS0yMDEwLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93 657 | # d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljQ29kU2lnUENBXzA4LTMxLTIw 658 | # MTAuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQClWzZsrU6baRLjb4oCm2l3w2xkciiI 659 | # 2T1FbSwYe9QoLxPiWWobwgs0t4r96rmU7Acx5mr0dQTTp9peOgaeEP2pDb2cUUNv 660 | # /2eUnOHPfPAksDXMg13u2sBvNknAWgpX9nPhnvPjCEw7Pi/M0s3uTyJw9wQfAqZL 661 | # m7iPXIgONpRsMwe4qa1RoNDC3I4iEr3D34LXVqH33fClIFcQEJ3urIZ0bHGbwfDy 662 | # wnBep9ttTTdYmU15QNA0XVolrmfrG05GBrCMKR+jEI+lM58j1fi1Rn3g7mOYkEs+ 663 | # BagvsBizWaSvQVOOCAUQLSrJOgZMHC6pMVFWZKyazKyXmCmKl5CH6p22MIIEujCC 664 | # A6KgAwIBAgIKYQUZlgAAAAAAGzANBgkqhkiG9w0BAQUFADB3MQswCQYDVQQGEwJV 665 | # UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE 666 | # ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQDExhNaWNyb3NvZnQgVGlt 667 | # ZS1TdGFtcCBQQ0EwHhcNMTEwNzI1MjA0MjE5WhcNMTIxMDI1MjA0MjE5WjCBszEL 668 | # MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v 669 | # bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjENMAsGA1UECxMETU9Q 670 | # UjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNOOjlFNzgtODY0Qi0wMzlEMSUwIwYD 671 | # VQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIIBIjANBgkqhkiG9w0B 672 | # AQEFAAOCAQ8AMIIBCgKCAQEA08s7U6KfRKN6q01WcVOKd6o3k34BPv2rAqNTqf/R 673 | # sSLFAJDndW7uGOiBDhPF2GEAvh+gdjsEDQTFBKCo/ENTBqEEBLkLkpgCYjjv1DMS 674 | # 9ys9e++tRVeFlSCf12M0nGJGjr6u4NmeOfapVf3P53fmNRPvXOi/SJNPGkMHWDiK 675 | # f4UUbOrJ0Et6gm7L0xVgCBSJlKhbPzrJPyB9bS9YGn3Kiji8w8I5aNgtWBoj7SoQ 676 | # CFogjIKl7dGXRZKFzMM3g98NmHzF07bgmVPYeAj15SMhB2KGWmppGf1w+VM0gfcl 677 | # MRmGh4vAVZr9qkw1Ff1b6ZXJq1OYKV8speElD2TF8rAndQIDAQABo4IBCTCCAQUw 678 | # HQYDVR0OBBYEFHkj56ENvlUsaBgpYoJn1vPhNjhaMB8GA1UdIwQYMBaAFCM0+NlS 679 | # RnAK7UD7dvuzK7DDNbMPMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly9jcmwubWlj 680 | # cm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY3Jvc29mdFRpbWVTdGFtcFBD 681 | # QS5jcmwwWAYIKwYBBQUHAQEETDBKMEgGCCsGAQUFBzAChjxodHRwOi8vd3d3Lm1p 682 | # Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jvc29mdFRpbWVTdGFtcFBDQS5jcnQw 683 | # EwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZIhvcNAQEFBQADggEBAEfCdoFbMd1v 684 | # 0zyZ8npsfpcTUCwFFxsQuEShtYz0Vs+9sCG0ZG1hHNju6Ov1ku5DohhEw/r67622 685 | # XH+XbUu1Q/snYXgIVHyx+a+YCrR0xKroLVDEff59TqGZ1icot67Y37GPgyKOzvN5 686 | # /GEUbb/rzISw36O7WwW36lT1Yh1sJ6ZjS/rjofq734WWZWlTsLZxmGQmZr3F8Vxi 687 | # vJH0PZxLQgANzzgFFCZa3CoFS39qmTjY3XOZos6MUCSepOv1P4p4zFSZXSVmpEEG 688 | # KK9JxLRSlOzeAoNk/k3U/0ui/CmA2+4/qzztM4jKvyJg0Fw7BLAKtJhtPKc6T5rR 689 | # ARYRYopBdqAwggW8MIIDpKADAgECAgphMyYaAAAAAAAxMA0GCSqGSIb3DQEBBQUA 690 | # MF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAXBgoJkiaJk/IsZAEZFgltaWNyb3Nv 691 | # ZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 692 | # eTAeFw0xMDA4MzEyMjE5MzJaFw0yMDA4MzEyMjI5MzJaMHkxCzAJBgNVBAYTAlVT 693 | # MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK 694 | # ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBDb2Rl 695 | # IFNpZ25pbmcgUENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsnJZ 696 | # XBkwZL8dmmAgIEKZdlNsPhvWb8zL8epr/pcWEODfOnSDGrcvoDLs/97CQk4j1XIA 697 | # 2zVXConKriBJ9PBorE1LjaW9eUtxm0cH2v0l3511iM+qc0R/14Hb873yNqTJXEXc 698 | # r6094CholxqnpXJzVvEXlOT9NZRyoNZ2Xx53RYOFOBbQc1sFumdSjaWyaS/aGQv+ 699 | # knQp4nYvVN0UMFn40o1i/cvJX0YxULknE+RAMM9yKRAoIsc3Tj2gMj2QzaE4BoVc 700 | # TlaCKCoFMrdL109j59ItYvFFPeesCAD2RqGe0VuMJlPoeqpK8kbPNzw4nrR3XKUX 701 | # no3LEY9WPMGsCV8D0wIDAQABo4IBXjCCAVowDwYDVR0TAQH/BAUwAwEB/zAdBgNV 702 | # HQ4EFgQUyxHoytK0FlgByTcuMxYWuUyaCh8wCwYDVR0PBAQDAgGGMBIGCSsGAQQB 703 | # gjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFP3RMU7TJoqV4ZhgO6gxb6Y8vNgt 704 | # MBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMB8GA1UdIwQYMBaAFA6sgmBAVieX 705 | # 5SUT/CrhClOVWeSkMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwubWljcm9z 706 | # b2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL21pY3Jvc29mdHJvb3RjZXJ0LmNybDBU 707 | # BggrBgEFBQcBAQRIMEYwRAYIKwYBBQUHMAKGOGh0dHA6Ly93d3cubWljcm9zb2Z0 708 | # LmNvbS9wa2kvY2VydHMvTWljcm9zb2Z0Um9vdENlcnQuY3J0MA0GCSqGSIb3DQEB 709 | # BQUAA4ICAQBZOT5/Jkav629AsTK1ausOL26oSffrX3XtTDst10OtC/7L6S0xoyPM 710 | # fFCYgCFdrD0vTLqiqFac43C7uLT4ebVJcvc+6kF/yuEMF2nLpZwgLfoLUMRWzS3j 711 | # StK8cOeoDaIDpVbguIpLV/KVQpzx8+/u44YfNDy4VprwUyOFKqSCHJPilAcd8uJO 712 | # +IyhyugTpZFOyBvSj3KVKnFtmxr4HPBT1mfMIv9cHc2ijL0nsnljVkSiUc356aNY 713 | # Vt2bAkVEL1/02q7UgjJu/KSVE+Traeepoiy+yCsQDmWOmdv1ovoSJgllOJTxeh9K 714 | # u9HhVujQeJYYXMk1Fl/dkx1Jji2+rTREHO4QFRoAXd01WyHOmMcJ7oUOjE9tDhNO 715 | # PXwpSJxy0fNsysHscKNXkld9lI2gG0gDWvfPo2cKdKU27S0vF8jmcjcS9G+xPGeC 716 | # +VKyjTMWZR4Oit0Q3mT0b85G1NMX6XnEBLTT+yzfH4qerAr7EydAreT54al/RrsH 717 | # YEdlYEBOsELsTu2zdnnYCjQJbRyAMR/iDlTd5aH75UcQrWSY/1AWLny/BSF64pVB 718 | # J2nDk4+VyY3YmyGuDVyc8KKuhmiDDGotu3ZrAB2WrfIWe/YWgyS5iM9qqEcxL5rc 719 | # 43E91wB+YkfRzojJuBj6DnKNwaM9rwJAav9pm5biEKgQtDdQCNbDPTCCBgcwggPv 720 | # oAMCAQICCmEWaDQAAAAAABwwDQYJKoZIhvcNAQEFBQAwXzETMBEGCgmSJomT8ixk 721 | # ARkWA2NvbTEZMBcGCgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWlj 722 | # cm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTA3MDQwMzEyNTMw 723 | # OVoXDTIxMDQwMzEzMDMwOVowdzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp 724 | # bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw 725 | # b3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBMIIBIjAN 726 | # BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn6Fssd/bSJIqfGsuGeG94uPFmVEj 727 | # UK3O3RhOJA/u0afRTK10MCAR6wfVVJUVSZQbQpKumFwwJtoAa+h7veyJBw/3DgSY 728 | # 8InMH8szJIed8vRnHCz8e+eIHernTqOhwSNTyo36Rc8J0F6v0LBCBKL5pmyTZ9co 729 | # 3EZTsIbQ5ShGLieshk9VUgzkAyz7apCQMG6H81kwnfp+1pez6CGXfvjSE/MIt1Nt 730 | # UrRFkJ9IAEpHZhEnKWaol+TTBoFKovmEpxFHFAmCn4TtVXj+AZodUAiFABAwRu23 731 | # 3iNGu8QtVJ+vHnhBMXfMm987g5OhYQK1HQ2x/PebsgHOIktU//kFw8IgCwIDAQAB 732 | # o4IBqzCCAacwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUIzT42VJGcArtQPt2 733 | # +7MrsMM1sw8wCwYDVR0PBAQDAgGGMBAGCSsGAQQBgjcVAQQDAgEAMIGYBgNVHSME 734 | # gZAwgY2AFA6sgmBAVieX5SUT/CrhClOVWeSkoWOkYTBfMRMwEQYKCZImiZPyLGQB 735 | # GRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQDEyRNaWNy 736 | # b3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCEHmtFqFKoKWtTHNY9AcT 737 | # LmUwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br 738 | # aS9jcmwvcHJvZHVjdHMvbWljcm9zb2Z0cm9vdGNlcnQuY3JsMFQGCCsGAQUFBwEB 739 | # BEgwRjBEBggrBgEFBQcwAoY4aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9j 740 | # ZXJ0cy9NaWNyb3NvZnRSb290Q2VydC5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgw 741 | # DQYJKoZIhvcNAQEFBQADggIBABCXisNcA0Q23em0rXfbznlRTQGxLnRxW20ME6vO 742 | # vnuPuC7UEqKMbWK4VwLLTiATUJndekDiV7uvWJoc4R0Bhqy7ePKL0Ow7Ae7ivo8K 743 | # BciNSOLwUxXdT6uS5OeNatWAweaU8gYvhQPpkSokInD79vzkeJkuDfcH4nC8GE6d 744 | # jmsKcpW4oTmcZy3FUQ7qYlw/FpiLID/iBxoy+cwxSnYxPStyC8jqcD3/hQoT38IK 745 | # YY7w17gX606Lf8U1K16jv+u8fQtCe9RTciHuMMq7eGVcWwEXChQO0toUmPU8uWZY 746 | # sy0v5/mFhsxRVuidcJRsrDlM1PZ5v6oYemIp76KbKTQGdxpiyT0ebR+C8AvHLLvP 747 | # Q7Pl+ex9teOkqHQ1uE7FcSMSJnYLPFKMcVpGQxS8s7OwTWfIn0L/gHkhgJ4VMGbo 748 | # QhJeGsieIiHQQ+kr6bv0SMws1NgygEwmKkgkX1rqVu+m3pmdyjpvvYEndAYR7nYh 749 | # v5uCwSdUtrFqPYmhdmG0bqETpr+qR/ASb/2KMmyy/t9RyIwjyWa9nR2HEmQCPS2v 750 | # WY+45CHltbDKY7R4VAXUQS5QrJSwpXirs6CWdRrZkocTdSIvMqgIbqBbjCW/oO+E 751 | # yiHW6x5PyZruSeD3AWVviQt9yGnI5m7qp5fOMSn/DsVbXNhNG6HY+i+ePy5VFmvJ 752 | # E6P9MYIEgzCCBH8CAQEwgYcweTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp 753 | # bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw 754 | # b3JhdGlvbjEjMCEGA1UEAxMaTWljcm9zb2Z0IENvZGUgU2lnbmluZyBQQ0ECCmEZ 755 | # zJMAAQAAAGYwCQYFKw4DAhoFAKCBsDAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIB 756 | # BDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQxFgQU 757 | # SDInMyiqV3LEzPhzf6mjYJvp5qAwUAYKKwYBBAGCNwIBDDFCMECgIoAgAEUAbgB0 758 | # AGkAdAB5ACAARgByAGEAbQBlAHcAbwByAGuhGoAYaHR0cDovL21zZG4uY29tL2Rh 759 | # dGEvZWYgMA0GCSqGSIb3DQEBAQUABIIBAMTy2exDNM/cRmGrhj6rawr6XoQp77kh 760 | # +WOMUmSG5U4qSlP8g3fVFH030Xsxz5d8TunxEzRUyDhYHh3mQ56x4RCVJU/fdl8Q 761 | # dhXwn4VfV84G3+mIHVRCo8+8hm/o1l1K0sHhLCaPSoZht1bcKH09gK1VxoNhBt78 762 | # BFUHLTWw0sRwrEJRW1xZPwOoh2rv1cnYi7GPKFHiYrCV3NSHRkSJZmA42UYA1iZv 763 | # 3fF9QCQNlTDY4jiC2vsa/eWt0qhups1gQXdqg8y/Zvc5cEYxF+ByataJ6fI4w5HP 764 | # 5WNzsVl1O+6VFlj1qjMzOyVlsHWCOIfFfc8iLoWWy+A4W00yEeHIMT2hggIdMIIC 765 | # GQYJKoZIhvcNAQkGMYICCjCCAgYCAQEwgYUwdzELMAkGA1UEBhMCVVMxEzARBgNV 766 | # BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv 767 | # c29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFRpbWUtU3RhbXAg 768 | # UENBAgphBRmWAAAAAAAbMAcGBSsOAwIaoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3 769 | # DQEHATAcBgkqhkiG9w0BCQUxDxcNMTIwNjI4MjA0MzM5WjAjBgkqhkiG9w0BCQQx 770 | # FgQU2luimdNA+66F/z6ooEia0K5OZC8wDQYJKoZIhvcNAQEFBQAEggEAPUTPALhi 771 | # x8qJIn6WmeZTiazQRH4/TVQHCJPDxhlaMgDUDsPwwmjrAfL/UnMz+TVi5ltSM0Hb 772 | # jGLfhTbaw/YcLUqztgxNq/vm0cFqU3n+rIGUBXFUwDoS6Ol6UTSoXkJVHyiOxHuU 773 | # Fdh33QDv9EVBbr1CQJLTs02d31Uwjg8vUt9+LDSYQWFlZH0+xsy1wStReGX4DSRz 774 | # QneatHmqk+Vej4/3iFKBlCJO1SPlXQLaFAUFsZr6yl6oTrpfatG6sA16/e8jjW4u 775 | # Kz0GzJYJ4DMVdSVGpsvVWMADsbEsjlr6yesOrN4ZDEBdv7Y3P518wK/iJ1/WdgRc 776 | # SA474q5bExc5pA== 777 | # SIG # End signature block 778 | -------------------------------------------------------------------------------- /packages/EntityFramework.5.0.0/tools/Redirect.VS11.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /packages/EntityFramework.5.0.0/tools/Redirect.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /packages/EntityFramework.5.0.0/tools/about_EntityFramework.help.txt: -------------------------------------------------------------------------------- 1 | TOPIC 2 | about_EntityFramework 3 | 4 | SHORT DESCRIPTION 5 | Provides information about Entity Framework commands. 6 | 7 | LONG DESCRIPTION 8 | This topic describes the Entity Framework commands. Entity Framework is 9 | Microsoft's recommended data access technology for new applications. 10 | 11 | 12 | The following Entity Framework cmdlets are included. 13 | 14 | Cmdlet Description 15 | ----------------- --------------------------------------------------- 16 | Enable-Migrations Enables Code First Migrations in a project. 17 | 18 | Add-Migration Scaffolds a migration script for any pending model 19 | changes. 20 | 21 | Update-Database Applies any pending migrations to the database. 22 | 23 | Get-Migrations Displays the migrations that have been applied to 24 | the target database. 25 | 26 | SEE ALSO 27 | Enable-Migrations 28 | Add-Migration 29 | Update-Database 30 | Get-Migrations 31 | -------------------------------------------------------------------------------- /packages/EntityFramework.5.0.0/tools/init.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | 3 | $importedModule = Get-Module | ?{ $_.Name -eq 'EntityFramework' } 4 | 5 | if ($PSVersionTable.PSVersion -ge (New-Object Version @( 3, 0 ))) 6 | { 7 | $thisModuleManifest = 'EntityFramework.PS3.psd1' 8 | } 9 | else 10 | { 11 | $thisModuleManifest = 'EntityFramework.psd1' 12 | } 13 | 14 | $thisModule = Test-ModuleManifest (Join-Path $toolsPath $thisModuleManifest) 15 | $shouldImport = $true 16 | 17 | if ($importedModule) 18 | { 19 | if ($importedModule.Version -le $thisModule.Version) 20 | { 21 | Remove-Module EntityFramework 22 | } 23 | else 24 | { 25 | $shouldImport = $false 26 | } 27 | } 28 | 29 | if ($shouldImport) 30 | { 31 | Import-Module $thisModule 32 | } 33 | 34 | # SIG # Begin signature block 35 | # MIIaSAYJKoZIhvcNAQcCoIIaOTCCGjUCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB 36 | # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR 37 | # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQU4JbMotbKQrAO4s/cceCMbJQG 38 | # 482gghUtMIIEoDCCA4igAwIBAgIKYRnMkwABAAAAZjANBgkqhkiG9w0BAQUFADB5 39 | # MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk 40 | # bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSMwIQYDVQQDExpN 41 | # aWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQTAeFw0xMTEwMTAyMDMyMjVaFw0xMzAx 42 | # MTAyMDMyMjVaMIGDMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ 43 | # MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u 44 | # MQ0wCwYDVQQLEwRNT1BSMR4wHAYDVQQDExVNaWNyb3NvZnQgQ29ycG9yYXRpb24w 45 | # ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDuW759ESTjhgbgZv9ItRe9 46 | # AuS0DDLwcj59LofXTqGxp0Mv92WeMeEyMUWu18EkhCHXLrWEfvo101Mc17ZRHk/O 47 | # ZrnrtwwC/SlcraiH9soitNW/CHX1inCPY9fvih7pj0MkZFrTh32QbTusds1XNn3o 48 | # vBBWrJjwiV0uZMavJgleHmMV8T2/Fo+ZiALDMLfBC2AfD3LM1reoNRKGm6ELCuaT 49 | # W476VJzB8xlfQo0Snx0/kLcnE4MZMoId89mH1CGyPKK2B0/XJKrujfWz2fr5OU+n 50 | # 6fKvWVL03EGbLxFwY93q3qrxbSEEEFMzu7JPxeFTskFlR2439rzpmxZBkWsuWzDD 51 | # AgMBAAGjggEdMIIBGTATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUG1IO 52 | # 8xEqt8CJwxGBPdSWWLmjU24wDgYDVR0PAQH/BAQDAgeAMB8GA1UdIwQYMBaAFMsR 53 | # 6MrStBZYAck3LjMWFrlMmgofMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu 54 | # bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY0NvZFNpZ1BDQV8wOC0z 55 | # MS0yMDEwLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93 56 | # d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljQ29kU2lnUENBXzA4LTMxLTIw 57 | # MTAuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQClWzZsrU6baRLjb4oCm2l3w2xkciiI 58 | # 2T1FbSwYe9QoLxPiWWobwgs0t4r96rmU7Acx5mr0dQTTp9peOgaeEP2pDb2cUUNv 59 | # /2eUnOHPfPAksDXMg13u2sBvNknAWgpX9nPhnvPjCEw7Pi/M0s3uTyJw9wQfAqZL 60 | # m7iPXIgONpRsMwe4qa1RoNDC3I4iEr3D34LXVqH33fClIFcQEJ3urIZ0bHGbwfDy 61 | # wnBep9ttTTdYmU15QNA0XVolrmfrG05GBrCMKR+jEI+lM58j1fi1Rn3g7mOYkEs+ 62 | # BagvsBizWaSvQVOOCAUQLSrJOgZMHC6pMVFWZKyazKyXmCmKl5CH6p22MIIEujCC 63 | # A6KgAwIBAgIKYQKSSgAAAAAAIDANBgkqhkiG9w0BAQUFADB3MQswCQYDVQQGEwJV 64 | # UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE 65 | # ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQDExhNaWNyb3NvZnQgVGlt 66 | # ZS1TdGFtcCBQQ0EwHhcNMTIwMTA5MjIyNTU5WhcNMTMwNDA5MjIyNTU5WjCBszEL 67 | # MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v 68 | # bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjENMAsGA1UECxMETU9Q 69 | # UjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNOOkI4RUMtMzBBNC03MTQ0MSUwIwYD 70 | # VQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIIBIjANBgkqhkiG9w0B 71 | # AQEFAAOCAQ8AMIIBCgKCAQEAzWPD96K1R9n5OZRTrGuPpnk4IfTRbj0VOBbBcyyZ 72 | # j/vgPFvhokyLsquLtPJKx7mTUNEm9YdTsHp180cPFytnLGTrYOdKjOCLXsRWaTc6 73 | # KgRdFwHIv6m308mro5GogeM/LbfY5MR4AHk5z/3HZOIjEnieDHYnSY+arA504wZV 74 | # VUnI7aF8cEVhfrJxFh7hwUG50tIy6VIk8zZQBNfdbzxJ1QvUdkD8ZWUTfpVROtX/ 75 | # uJqnV2tLFeU3WB/cAA3FrurfgUf58FKu5s9arOAUSqZxlID6/bAjMGDpg2CsDiQe 76 | # /xHy56VVYpXun3+eKdbNSwp2g/BDBN8GSSDyU1pEsFF6OQIDAQABo4IBCTCCAQUw 77 | # HQYDVR0OBBYEFM0ZrGFNlGcr9q+UdVnb8FgAg6E6MB8GA1UdIwQYMBaAFCM0+NlS 78 | # RnAK7UD7dvuzK7DDNbMPMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly9jcmwubWlj 79 | # cm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY3Jvc29mdFRpbWVTdGFtcFBD 80 | # QS5jcmwwWAYIKwYBBQUHAQEETDBKMEgGCCsGAQUFBzAChjxodHRwOi8vd3d3Lm1p 81 | # Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jvc29mdFRpbWVTdGFtcFBDQS5jcnQw 82 | # EwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZIhvcNAQEFBQADggEBAFEc1t82HdyA 83 | # vAKnxpnfFsiQBmkVmjK582QQ0orzYikbeY/KYKmzXcTkFi01jESb8fRcYaRBrpqL 84 | # ulDRanlqs2KMnU1RUAupjtS/ohDAR9VOdVKJHj+Wao8uQBQGcu4/cFmSXYXtg5n6 85 | # goSe5AMBIROrJ9bMcUnl2h3/bzwJTtWNZugMyX/uMRQCN197aeyJPkV/JUTnHxrW 86 | # xRrDSuTh8YSY50/5qZinGEbshGzsqQMK/Xx6Uh2ca6SoD5iSpJJ4XCt4432yx9m2 87 | # cH3fW3NTv6rUZlBL8Mk7lYXlwUplnSVYULsgVJF5OhsHXGpXKK8xx5/nwx3uR/0n 88 | # 13/PdNxlxT8wggW8MIIDpKADAgECAgphMyYaAAAAAAAxMA0GCSqGSIb3DQEBBQUA 89 | # MF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAXBgoJkiaJk/IsZAEZFgltaWNyb3Nv 90 | # ZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 91 | # eTAeFw0xMDA4MzEyMjE5MzJaFw0yMDA4MzEyMjI5MzJaMHkxCzAJBgNVBAYTAlVT 92 | # MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK 93 | # ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBDb2Rl 94 | # IFNpZ25pbmcgUENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsnJZ 95 | # XBkwZL8dmmAgIEKZdlNsPhvWb8zL8epr/pcWEODfOnSDGrcvoDLs/97CQk4j1XIA 96 | # 2zVXConKriBJ9PBorE1LjaW9eUtxm0cH2v0l3511iM+qc0R/14Hb873yNqTJXEXc 97 | # r6094CholxqnpXJzVvEXlOT9NZRyoNZ2Xx53RYOFOBbQc1sFumdSjaWyaS/aGQv+ 98 | # knQp4nYvVN0UMFn40o1i/cvJX0YxULknE+RAMM9yKRAoIsc3Tj2gMj2QzaE4BoVc 99 | # TlaCKCoFMrdL109j59ItYvFFPeesCAD2RqGe0VuMJlPoeqpK8kbPNzw4nrR3XKUX 100 | # no3LEY9WPMGsCV8D0wIDAQABo4IBXjCCAVowDwYDVR0TAQH/BAUwAwEB/zAdBgNV 101 | # HQ4EFgQUyxHoytK0FlgByTcuMxYWuUyaCh8wCwYDVR0PBAQDAgGGMBIGCSsGAQQB 102 | # gjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFP3RMU7TJoqV4ZhgO6gxb6Y8vNgt 103 | # MBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMB8GA1UdIwQYMBaAFA6sgmBAVieX 104 | # 5SUT/CrhClOVWeSkMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwubWljcm9z 105 | # b2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL21pY3Jvc29mdHJvb3RjZXJ0LmNybDBU 106 | # BggrBgEFBQcBAQRIMEYwRAYIKwYBBQUHMAKGOGh0dHA6Ly93d3cubWljcm9zb2Z0 107 | # LmNvbS9wa2kvY2VydHMvTWljcm9zb2Z0Um9vdENlcnQuY3J0MA0GCSqGSIb3DQEB 108 | # BQUAA4ICAQBZOT5/Jkav629AsTK1ausOL26oSffrX3XtTDst10OtC/7L6S0xoyPM 109 | # fFCYgCFdrD0vTLqiqFac43C7uLT4ebVJcvc+6kF/yuEMF2nLpZwgLfoLUMRWzS3j 110 | # StK8cOeoDaIDpVbguIpLV/KVQpzx8+/u44YfNDy4VprwUyOFKqSCHJPilAcd8uJO 111 | # +IyhyugTpZFOyBvSj3KVKnFtmxr4HPBT1mfMIv9cHc2ijL0nsnljVkSiUc356aNY 112 | # Vt2bAkVEL1/02q7UgjJu/KSVE+Traeepoiy+yCsQDmWOmdv1ovoSJgllOJTxeh9K 113 | # u9HhVujQeJYYXMk1Fl/dkx1Jji2+rTREHO4QFRoAXd01WyHOmMcJ7oUOjE9tDhNO 114 | # PXwpSJxy0fNsysHscKNXkld9lI2gG0gDWvfPo2cKdKU27S0vF8jmcjcS9G+xPGeC 115 | # +VKyjTMWZR4Oit0Q3mT0b85G1NMX6XnEBLTT+yzfH4qerAr7EydAreT54al/RrsH 116 | # YEdlYEBOsELsTu2zdnnYCjQJbRyAMR/iDlTd5aH75UcQrWSY/1AWLny/BSF64pVB 117 | # J2nDk4+VyY3YmyGuDVyc8KKuhmiDDGotu3ZrAB2WrfIWe/YWgyS5iM9qqEcxL5rc 118 | # 43E91wB+YkfRzojJuBj6DnKNwaM9rwJAav9pm5biEKgQtDdQCNbDPTCCBgcwggPv 119 | # oAMCAQICCmEWaDQAAAAAABwwDQYJKoZIhvcNAQEFBQAwXzETMBEGCgmSJomT8ixk 120 | # ARkWA2NvbTEZMBcGCgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWlj 121 | # cm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTA3MDQwMzEyNTMw 122 | # OVoXDTIxMDQwMzEzMDMwOVowdzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp 123 | # bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw 124 | # b3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBMIIBIjAN 125 | # BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn6Fssd/bSJIqfGsuGeG94uPFmVEj 126 | # UK3O3RhOJA/u0afRTK10MCAR6wfVVJUVSZQbQpKumFwwJtoAa+h7veyJBw/3DgSY 127 | # 8InMH8szJIed8vRnHCz8e+eIHernTqOhwSNTyo36Rc8J0F6v0LBCBKL5pmyTZ9co 128 | # 3EZTsIbQ5ShGLieshk9VUgzkAyz7apCQMG6H81kwnfp+1pez6CGXfvjSE/MIt1Nt 129 | # UrRFkJ9IAEpHZhEnKWaol+TTBoFKovmEpxFHFAmCn4TtVXj+AZodUAiFABAwRu23 130 | # 3iNGu8QtVJ+vHnhBMXfMm987g5OhYQK1HQ2x/PebsgHOIktU//kFw8IgCwIDAQAB 131 | # o4IBqzCCAacwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUIzT42VJGcArtQPt2 132 | # +7MrsMM1sw8wCwYDVR0PBAQDAgGGMBAGCSsGAQQBgjcVAQQDAgEAMIGYBgNVHSME 133 | # gZAwgY2AFA6sgmBAVieX5SUT/CrhClOVWeSkoWOkYTBfMRMwEQYKCZImiZPyLGQB 134 | # GRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQDEyRNaWNy 135 | # b3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCEHmtFqFKoKWtTHNY9AcT 136 | # LmUwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br 137 | # aS9jcmwvcHJvZHVjdHMvbWljcm9zb2Z0cm9vdGNlcnQuY3JsMFQGCCsGAQUFBwEB 138 | # BEgwRjBEBggrBgEFBQcwAoY4aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9j 139 | # ZXJ0cy9NaWNyb3NvZnRSb290Q2VydC5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgw 140 | # DQYJKoZIhvcNAQEFBQADggIBABCXisNcA0Q23em0rXfbznlRTQGxLnRxW20ME6vO 141 | # vnuPuC7UEqKMbWK4VwLLTiATUJndekDiV7uvWJoc4R0Bhqy7ePKL0Ow7Ae7ivo8K 142 | # BciNSOLwUxXdT6uS5OeNatWAweaU8gYvhQPpkSokInD79vzkeJkuDfcH4nC8GE6d 143 | # jmsKcpW4oTmcZy3FUQ7qYlw/FpiLID/iBxoy+cwxSnYxPStyC8jqcD3/hQoT38IK 144 | # YY7w17gX606Lf8U1K16jv+u8fQtCe9RTciHuMMq7eGVcWwEXChQO0toUmPU8uWZY 145 | # sy0v5/mFhsxRVuidcJRsrDlM1PZ5v6oYemIp76KbKTQGdxpiyT0ebR+C8AvHLLvP 146 | # Q7Pl+ex9teOkqHQ1uE7FcSMSJnYLPFKMcVpGQxS8s7OwTWfIn0L/gHkhgJ4VMGbo 147 | # QhJeGsieIiHQQ+kr6bv0SMws1NgygEwmKkgkX1rqVu+m3pmdyjpvvYEndAYR7nYh 148 | # v5uCwSdUtrFqPYmhdmG0bqETpr+qR/ASb/2KMmyy/t9RyIwjyWa9nR2HEmQCPS2v 149 | # WY+45CHltbDKY7R4VAXUQS5QrJSwpXirs6CWdRrZkocTdSIvMqgIbqBbjCW/oO+E 150 | # yiHW6x5PyZruSeD3AWVviQt9yGnI5m7qp5fOMSn/DsVbXNhNG6HY+i+ePy5VFmvJ 151 | # E6P9MYIEhTCCBIECAQEwgYcweTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp 152 | # bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw 153 | # b3JhdGlvbjEjMCEGA1UEAxMaTWljcm9zb2Z0IENvZGUgU2lnbmluZyBQQ0ECCmEZ 154 | # zJMAAQAAAGYwCQYFKw4DAhoFAKCBsDAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIB 155 | # BDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQxFgQU 156 | # WQ2AdtM5zwQcEcFbsSevYrmN6UQwUAYKKwYBBAGCNwIBDDFCMECgIoAgAEUAbgB0 157 | # AGkAdAB5ACAARgByAGEAbQBlAHcAbwByAGuhGoAYaHR0cDovL21zZG4uY29tL2Rh 158 | # dGEvZWYgMA0GCSqGSIb3DQEBAQUABIIBAAp6IKF/Uj/9lpK3SAcA7JJxjVoqi+yI 159 | # n0i9qNP5b4+zTSrtpnPDibOaQvhdUlEsAlEjnJTRCwYR9zobPyxJfGoh9j/qkgcU 160 | # wWBIdmNhzMEzVDJwlE9puRipHQNP6ftcbaz9SOD40aOQ8skR9ecYuHW9SGG0levm 161 | # m2Q/UWxmxVvtv6HnYzWUn6vHrJmiRk+t1ckG9Dxq2GPnBA+hGrRdYaijPBSwSWcg 162 | # FnBsl4s88UVL7N8hpKYOQGnqGda6V1LJIgNPKoGNoPllFeJWXKgClvJ6majpd6dz 163 | # o8S6A9a19D2Dh1l0cbwpI2ZFZjfY9UOVSH33i6fk7CM0aCVe9z3dcB+hggIfMIIC 164 | # GwYJKoZIhvcNAQkGMYICDDCCAggCAQEwgYUwdzELMAkGA1UEBhMCVVMxEzARBgNV 165 | # BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv 166 | # c29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFRpbWUtU3RhbXAg 167 | # UENBAgphApJKAAAAAAAgMAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZI 168 | # hvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xMjA2MjgyMDQzMzlaMCMGCSqGSIb3DQEJ 169 | # BDEWBBTcH0Qic4YQ6MzFbjR1RWKCxjK8pzANBgkqhkiG9w0BAQUFAASCAQAdMhoS 170 | # z2zXLJyB1RIjdnGlDxLKzXF+rxImjMI7VfId2vIg4FaGIPqnN0BBTp8o+HZCv3cM 171 | # ZV/okS8w9k/82jWjJ183l9fn3moQe4qbVlV6yUJvPFpW47LFrEAXgdmL8bgA/VOW 172 | # HtJRP52lPDsb7J1WjqNOh7KkyD5x0Y8Pwrb+Xc63ibtTjOeAttPxKk+1gZh95wUA 173 | # ykjw7RKZLHfyJ9Ph5lCkzDQrXXwGGPuzaZVO+pkowgy2yCPRecShGBCKbCyOZlhT 174 | # BS1WVJDHS95N732o0lPzWE5rTQe/awv8xkgCe9e8ci4S7/lSnj3aVOLbM3S8jG4x 175 | # Oi4rxrjYTjts1n2P 176 | # SIG # End signature block 177 | -------------------------------------------------------------------------------- /packages/EntityFramework.5.0.0/tools/install.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | 3 | function Invoke-ConnectionFactoryConfigurator($assemblyPath, $project) 4 | { 5 | $appDomain = [AppDomain]::CreateDomain( 6 | 'EntityFramework.PowerShell', 7 | $null, 8 | (New-Object System.AppDomainSetup -Property @{ ShadowCopyFiles = 'true' })) 9 | 10 | $appDomain.CreateInstanceFrom( 11 | $assemblyPath, 12 | 'System.Data.Entity.ConnectionFactoryConfig.ConnectionFactoryConfigurator', 13 | $false, 14 | 0, 15 | $null, 16 | $project, 17 | $null, 18 | $null) | Out-Null 19 | 20 | [AppDomain]::Unload($appDomain) 21 | } 22 | 23 | Invoke-ConnectionFactoryConfigurator (Join-Path $toolsPath EntityFramework.PowerShell.dll) $project 24 | 25 | Write-Host 26 | Write-Host "Type 'get-help EntityFramework' to see all available Entity Framework commands." 27 | 28 | # SIG # Begin signature block 29 | # MIIaRgYJKoZIhvcNAQcCoIIaNzCCGjMCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB 30 | # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR 31 | # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQU4nG54zEClXzFX9aYwYpo8BH3 32 | # YWygghUtMIIEoDCCA4igAwIBAgIKYRnMkwABAAAAZjANBgkqhkiG9w0BAQUFADB5 33 | # MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk 34 | # bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSMwIQYDVQQDExpN 35 | # aWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQTAeFw0xMTEwMTAyMDMyMjVaFw0xMzAx 36 | # MTAyMDMyMjVaMIGDMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ 37 | # MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u 38 | # MQ0wCwYDVQQLEwRNT1BSMR4wHAYDVQQDExVNaWNyb3NvZnQgQ29ycG9yYXRpb24w 39 | # ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDuW759ESTjhgbgZv9ItRe9 40 | # AuS0DDLwcj59LofXTqGxp0Mv92WeMeEyMUWu18EkhCHXLrWEfvo101Mc17ZRHk/O 41 | # ZrnrtwwC/SlcraiH9soitNW/CHX1inCPY9fvih7pj0MkZFrTh32QbTusds1XNn3o 42 | # vBBWrJjwiV0uZMavJgleHmMV8T2/Fo+ZiALDMLfBC2AfD3LM1reoNRKGm6ELCuaT 43 | # W476VJzB8xlfQo0Snx0/kLcnE4MZMoId89mH1CGyPKK2B0/XJKrujfWz2fr5OU+n 44 | # 6fKvWVL03EGbLxFwY93q3qrxbSEEEFMzu7JPxeFTskFlR2439rzpmxZBkWsuWzDD 45 | # AgMBAAGjggEdMIIBGTATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUG1IO 46 | # 8xEqt8CJwxGBPdSWWLmjU24wDgYDVR0PAQH/BAQDAgeAMB8GA1UdIwQYMBaAFMsR 47 | # 6MrStBZYAck3LjMWFrlMmgofMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu 48 | # bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY0NvZFNpZ1BDQV8wOC0z 49 | # MS0yMDEwLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93 50 | # d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljQ29kU2lnUENBXzA4LTMxLTIw 51 | # MTAuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQClWzZsrU6baRLjb4oCm2l3w2xkciiI 52 | # 2T1FbSwYe9QoLxPiWWobwgs0t4r96rmU7Acx5mr0dQTTp9peOgaeEP2pDb2cUUNv 53 | # /2eUnOHPfPAksDXMg13u2sBvNknAWgpX9nPhnvPjCEw7Pi/M0s3uTyJw9wQfAqZL 54 | # m7iPXIgONpRsMwe4qa1RoNDC3I4iEr3D34LXVqH33fClIFcQEJ3urIZ0bHGbwfDy 55 | # wnBep9ttTTdYmU15QNA0XVolrmfrG05GBrCMKR+jEI+lM58j1fi1Rn3g7mOYkEs+ 56 | # BagvsBizWaSvQVOOCAUQLSrJOgZMHC6pMVFWZKyazKyXmCmKl5CH6p22MIIEujCC 57 | # A6KgAwIBAgIKYQUZlgAAAAAAGzANBgkqhkiG9w0BAQUFADB3MQswCQYDVQQGEwJV 58 | # UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE 59 | # ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQDExhNaWNyb3NvZnQgVGlt 60 | # ZS1TdGFtcCBQQ0EwHhcNMTEwNzI1MjA0MjE5WhcNMTIxMDI1MjA0MjE5WjCBszEL 61 | # MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v 62 | # bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjENMAsGA1UECxMETU9Q 63 | # UjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNOOjlFNzgtODY0Qi0wMzlEMSUwIwYD 64 | # VQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIIBIjANBgkqhkiG9w0B 65 | # AQEFAAOCAQ8AMIIBCgKCAQEA08s7U6KfRKN6q01WcVOKd6o3k34BPv2rAqNTqf/R 66 | # sSLFAJDndW7uGOiBDhPF2GEAvh+gdjsEDQTFBKCo/ENTBqEEBLkLkpgCYjjv1DMS 67 | # 9ys9e++tRVeFlSCf12M0nGJGjr6u4NmeOfapVf3P53fmNRPvXOi/SJNPGkMHWDiK 68 | # f4UUbOrJ0Et6gm7L0xVgCBSJlKhbPzrJPyB9bS9YGn3Kiji8w8I5aNgtWBoj7SoQ 69 | # CFogjIKl7dGXRZKFzMM3g98NmHzF07bgmVPYeAj15SMhB2KGWmppGf1w+VM0gfcl 70 | # MRmGh4vAVZr9qkw1Ff1b6ZXJq1OYKV8speElD2TF8rAndQIDAQABo4IBCTCCAQUw 71 | # HQYDVR0OBBYEFHkj56ENvlUsaBgpYoJn1vPhNjhaMB8GA1UdIwQYMBaAFCM0+NlS 72 | # RnAK7UD7dvuzK7DDNbMPMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly9jcmwubWlj 73 | # cm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY3Jvc29mdFRpbWVTdGFtcFBD 74 | # QS5jcmwwWAYIKwYBBQUHAQEETDBKMEgGCCsGAQUFBzAChjxodHRwOi8vd3d3Lm1p 75 | # Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jvc29mdFRpbWVTdGFtcFBDQS5jcnQw 76 | # EwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZIhvcNAQEFBQADggEBAEfCdoFbMd1v 77 | # 0zyZ8npsfpcTUCwFFxsQuEShtYz0Vs+9sCG0ZG1hHNju6Ov1ku5DohhEw/r67622 78 | # XH+XbUu1Q/snYXgIVHyx+a+YCrR0xKroLVDEff59TqGZ1icot67Y37GPgyKOzvN5 79 | # /GEUbb/rzISw36O7WwW36lT1Yh1sJ6ZjS/rjofq734WWZWlTsLZxmGQmZr3F8Vxi 80 | # vJH0PZxLQgANzzgFFCZa3CoFS39qmTjY3XOZos6MUCSepOv1P4p4zFSZXSVmpEEG 81 | # KK9JxLRSlOzeAoNk/k3U/0ui/CmA2+4/qzztM4jKvyJg0Fw7BLAKtJhtPKc6T5rR 82 | # ARYRYopBdqAwggW8MIIDpKADAgECAgphMyYaAAAAAAAxMA0GCSqGSIb3DQEBBQUA 83 | # MF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAXBgoJkiaJk/IsZAEZFgltaWNyb3Nv 84 | # ZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 85 | # eTAeFw0xMDA4MzEyMjE5MzJaFw0yMDA4MzEyMjI5MzJaMHkxCzAJBgNVBAYTAlVT 86 | # MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK 87 | # ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBDb2Rl 88 | # IFNpZ25pbmcgUENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsnJZ 89 | # XBkwZL8dmmAgIEKZdlNsPhvWb8zL8epr/pcWEODfOnSDGrcvoDLs/97CQk4j1XIA 90 | # 2zVXConKriBJ9PBorE1LjaW9eUtxm0cH2v0l3511iM+qc0R/14Hb873yNqTJXEXc 91 | # r6094CholxqnpXJzVvEXlOT9NZRyoNZ2Xx53RYOFOBbQc1sFumdSjaWyaS/aGQv+ 92 | # knQp4nYvVN0UMFn40o1i/cvJX0YxULknE+RAMM9yKRAoIsc3Tj2gMj2QzaE4BoVc 93 | # TlaCKCoFMrdL109j59ItYvFFPeesCAD2RqGe0VuMJlPoeqpK8kbPNzw4nrR3XKUX 94 | # no3LEY9WPMGsCV8D0wIDAQABo4IBXjCCAVowDwYDVR0TAQH/BAUwAwEB/zAdBgNV 95 | # HQ4EFgQUyxHoytK0FlgByTcuMxYWuUyaCh8wCwYDVR0PBAQDAgGGMBIGCSsGAQQB 96 | # gjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFP3RMU7TJoqV4ZhgO6gxb6Y8vNgt 97 | # MBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMB8GA1UdIwQYMBaAFA6sgmBAVieX 98 | # 5SUT/CrhClOVWeSkMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwubWljcm9z 99 | # b2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL21pY3Jvc29mdHJvb3RjZXJ0LmNybDBU 100 | # BggrBgEFBQcBAQRIMEYwRAYIKwYBBQUHMAKGOGh0dHA6Ly93d3cubWljcm9zb2Z0 101 | # LmNvbS9wa2kvY2VydHMvTWljcm9zb2Z0Um9vdENlcnQuY3J0MA0GCSqGSIb3DQEB 102 | # BQUAA4ICAQBZOT5/Jkav629AsTK1ausOL26oSffrX3XtTDst10OtC/7L6S0xoyPM 103 | # fFCYgCFdrD0vTLqiqFac43C7uLT4ebVJcvc+6kF/yuEMF2nLpZwgLfoLUMRWzS3j 104 | # StK8cOeoDaIDpVbguIpLV/KVQpzx8+/u44YfNDy4VprwUyOFKqSCHJPilAcd8uJO 105 | # +IyhyugTpZFOyBvSj3KVKnFtmxr4HPBT1mfMIv9cHc2ijL0nsnljVkSiUc356aNY 106 | # Vt2bAkVEL1/02q7UgjJu/KSVE+Traeepoiy+yCsQDmWOmdv1ovoSJgllOJTxeh9K 107 | # u9HhVujQeJYYXMk1Fl/dkx1Jji2+rTREHO4QFRoAXd01WyHOmMcJ7oUOjE9tDhNO 108 | # PXwpSJxy0fNsysHscKNXkld9lI2gG0gDWvfPo2cKdKU27S0vF8jmcjcS9G+xPGeC 109 | # +VKyjTMWZR4Oit0Q3mT0b85G1NMX6XnEBLTT+yzfH4qerAr7EydAreT54al/RrsH 110 | # YEdlYEBOsELsTu2zdnnYCjQJbRyAMR/iDlTd5aH75UcQrWSY/1AWLny/BSF64pVB 111 | # J2nDk4+VyY3YmyGuDVyc8KKuhmiDDGotu3ZrAB2WrfIWe/YWgyS5iM9qqEcxL5rc 112 | # 43E91wB+YkfRzojJuBj6DnKNwaM9rwJAav9pm5biEKgQtDdQCNbDPTCCBgcwggPv 113 | # oAMCAQICCmEWaDQAAAAAABwwDQYJKoZIhvcNAQEFBQAwXzETMBEGCgmSJomT8ixk 114 | # ARkWA2NvbTEZMBcGCgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWlj 115 | # cm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTA3MDQwMzEyNTMw 116 | # OVoXDTIxMDQwMzEzMDMwOVowdzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp 117 | # bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw 118 | # b3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBMIIBIjAN 119 | # BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn6Fssd/bSJIqfGsuGeG94uPFmVEj 120 | # UK3O3RhOJA/u0afRTK10MCAR6wfVVJUVSZQbQpKumFwwJtoAa+h7veyJBw/3DgSY 121 | # 8InMH8szJIed8vRnHCz8e+eIHernTqOhwSNTyo36Rc8J0F6v0LBCBKL5pmyTZ9co 122 | # 3EZTsIbQ5ShGLieshk9VUgzkAyz7apCQMG6H81kwnfp+1pez6CGXfvjSE/MIt1Nt 123 | # UrRFkJ9IAEpHZhEnKWaol+TTBoFKovmEpxFHFAmCn4TtVXj+AZodUAiFABAwRu23 124 | # 3iNGu8QtVJ+vHnhBMXfMm987g5OhYQK1HQ2x/PebsgHOIktU//kFw8IgCwIDAQAB 125 | # o4IBqzCCAacwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUIzT42VJGcArtQPt2 126 | # +7MrsMM1sw8wCwYDVR0PBAQDAgGGMBAGCSsGAQQBgjcVAQQDAgEAMIGYBgNVHSME 127 | # gZAwgY2AFA6sgmBAVieX5SUT/CrhClOVWeSkoWOkYTBfMRMwEQYKCZImiZPyLGQB 128 | # GRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQDEyRNaWNy 129 | # b3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCEHmtFqFKoKWtTHNY9AcT 130 | # LmUwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br 131 | # aS9jcmwvcHJvZHVjdHMvbWljcm9zb2Z0cm9vdGNlcnQuY3JsMFQGCCsGAQUFBwEB 132 | # BEgwRjBEBggrBgEFBQcwAoY4aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9j 133 | # ZXJ0cy9NaWNyb3NvZnRSb290Q2VydC5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgw 134 | # DQYJKoZIhvcNAQEFBQADggIBABCXisNcA0Q23em0rXfbznlRTQGxLnRxW20ME6vO 135 | # vnuPuC7UEqKMbWK4VwLLTiATUJndekDiV7uvWJoc4R0Bhqy7ePKL0Ow7Ae7ivo8K 136 | # BciNSOLwUxXdT6uS5OeNatWAweaU8gYvhQPpkSokInD79vzkeJkuDfcH4nC8GE6d 137 | # jmsKcpW4oTmcZy3FUQ7qYlw/FpiLID/iBxoy+cwxSnYxPStyC8jqcD3/hQoT38IK 138 | # YY7w17gX606Lf8U1K16jv+u8fQtCe9RTciHuMMq7eGVcWwEXChQO0toUmPU8uWZY 139 | # sy0v5/mFhsxRVuidcJRsrDlM1PZ5v6oYemIp76KbKTQGdxpiyT0ebR+C8AvHLLvP 140 | # Q7Pl+ex9teOkqHQ1uE7FcSMSJnYLPFKMcVpGQxS8s7OwTWfIn0L/gHkhgJ4VMGbo 141 | # QhJeGsieIiHQQ+kr6bv0SMws1NgygEwmKkgkX1rqVu+m3pmdyjpvvYEndAYR7nYh 142 | # v5uCwSdUtrFqPYmhdmG0bqETpr+qR/ASb/2KMmyy/t9RyIwjyWa9nR2HEmQCPS2v 143 | # WY+45CHltbDKY7R4VAXUQS5QrJSwpXirs6CWdRrZkocTdSIvMqgIbqBbjCW/oO+E 144 | # yiHW6x5PyZruSeD3AWVviQt9yGnI5m7qp5fOMSn/DsVbXNhNG6HY+i+ePy5VFmvJ 145 | # E6P9MYIEgzCCBH8CAQEwgYcweTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp 146 | # bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw 147 | # b3JhdGlvbjEjMCEGA1UEAxMaTWljcm9zb2Z0IENvZGUgU2lnbmluZyBQQ0ECCmEZ 148 | # zJMAAQAAAGYwCQYFKw4DAhoFAKCBsDAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIB 149 | # BDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQxFgQU 150 | # aRQ2a/UgAzqOb3Wvyd0Y2tRWtIEwUAYKKwYBBAGCNwIBDDFCMECgIoAgAEUAbgB0 151 | # AGkAdAB5ACAARgByAGEAbQBlAHcAbwByAGuhGoAYaHR0cDovL21zZG4uY29tL2Rh 152 | # dGEvZWYgMA0GCSqGSIb3DQEBAQUABIIBAMQdz1xbjYGj57Z6LNm3laDw2S6QJFye 153 | # QUSbvlY7kcxqlHQrERkp3wwR34emJSnTayLTcTPaCCvzUaGsZi86i+IW6HdA/3A/ 154 | # IwEZgAkai/qXZCYEEBvV9ja+iMRowFPAySU+ROh4LFbCTLzm4vez6qaLyui/JQNr 155 | # 46DZptV5XM0idAbgOfmtCMMipqRkrNqt7Zj8cuxu3cJBKOvhUOdLfEIxq1UW9pNy 156 | # 8c/aOStE0kLFInw3G1GL9IJnS43eTcgeIDMkrwX70o+rLS7lN1U3txL25IrBTUcY 157 | # Q6dxj4zSDxIjn3Tq2jqa8B6lR1OMEahj4INmR6vC+mFNspHODHWgt7GhggIdMIIC 158 | # GQYJKoZIhvcNAQkGMYICCjCCAgYCAQEwgYUwdzELMAkGA1UEBhMCVVMxEzARBgNV 159 | # BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv 160 | # c29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFRpbWUtU3RhbXAg 161 | # UENBAgphBRmWAAAAAAAbMAcGBSsOAwIaoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3 162 | # DQEHATAcBgkqhkiG9w0BCQUxDxcNMTIwNjI4MjA0MzU0WjAjBgkqhkiG9w0BCQQx 163 | # FgQUlE+8FmmwI9Hd6gz+luAdOPsKxHgwDQYJKoZIhvcNAQEFBQAEggEAiJCupwRm 164 | # YW3NHK2EdgaQ+VCIjXwVrEj6ElX4c30nAYXxnCOIesErL/N/jMYnM3Fo+GNsOikL 165 | # x9Mzo4sZv/c6bchLtnagS6MzQyDFiBPF+pngSMg2PpIDHsIBg2vPzClWx6+hCDxE 166 | # Yf9f7/s/vQEpEbHLjzQZJqoji2LV5HRxnHbT3J13atUF2yqgzyTRlOF2MPp3vLX1 167 | # 7q5KnOBrWsfyxoYskJEddsbH7zilomWyVZ2zcpG8Ui/h2xoN50AXtMQntx9VYxwT 168 | # D5U5ECSdKzXeUIwktYBPtxor5yGBda63PNxjUHYXSRvFrdnLtXTiMiIQzEzJUdk9 169 | # 6p75IHbjyjvZfg== 170 | # SIG # End signature block 171 | -------------------------------------------------------------------------------- /packages/EntityFramework.5.0.0/tools/migrate.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbraithwaite/HybridOrm/f93fdba746ce23a7bf66bd4e9a588f4f18056702/packages/EntityFramework.5.0.0/tools/migrate.exe -------------------------------------------------------------------------------- /packages/repositories.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | Code for blog post: 2 | 3 | http://www.bradoncode.com/blog/2013/05/orms-don-reinvent-wheel.html 4 | 5 | This is example code using Entity Framework Code First and Dapper to create a hybrid ORM. 6 | --------------------------------------------------------------------------------