├── .gitattributes ├── .gitignore ├── .nuget ├── NuGet.Config ├── NuGet.exe └── NuGet.targets ├── .vs └── restore.dg ├── LICENSE ├── README.md ├── getAddress.Sequence-dotNetCore.sln ├── getAddress.Sequence.4.5.1 ├── Properties │ └── AssemblyInfo.cs └── getAddress.Sequence.csproj ├── getAddress.Sequence.Azure.1.0.1.nupkg ├── getAddress.Sequence.Azure.4.5.1 ├── Properties │ └── AssemblyInfo.cs ├── getAddress.Sequence.Azure.csproj └── packages.config ├── getAddress.Sequence.Azure.Tests ├── Instanda.Sequence.Azure.Tests.csproj ├── Properties │ └── AssemblyInfo.cs └── packages.config ├── getAddress.Sequence.Azure ├── AzureTableStateProvider.cs ├── Exceptions.cs ├── Properties │ └── AssemblyInfo.cs ├── SequenceTableEntity.cs ├── StateProviderFactory.cs ├── TableEntityRepository.cs ├── getAddress.Sequence.Azure.csproj └── packages.config ├── getAddress.Sequence.EntityFramework.MySql ├── DbServerSequence.cs ├── DbServerStateProvider.cs ├── DbServerStateProviderFactory.cs ├── Properties │ └── AssemblyInfo.cs ├── SequenceDbContext.cs └── getAddress.Sequence.EntityFramework.MySql.csproj ├── getAddress.Sequence.EntityFramework.SqlServer ├── .vs │ └── restore.dg ├── DbServerSequence.cs ├── DbServerStateProvider.cs ├── DbServerStateProviderFactory.cs ├── Properties │ └── AssemblyInfo.cs ├── SequenceDbContext.cs └── getAddress.Sequence.EntityFramework.SqlServer.csproj ├── getAddress.Sequence.EntityFramework.dotNetCore.sln ├── getAddress.Sequence.Mongo.1.0.1.nupkg ├── getAddress.Sequence.Mongodb.4.5.1 ├── Properties │ └── AssemblyInfo.cs ├── app.config ├── getAddress.Sequence.Mongodb.csproj └── packages.config ├── getAddress.Sequence.Mongodb ├── MongoStateProvider.cs ├── MongoStateProviderFactory.cs ├── Properties │ └── AssemblyInfo.cs ├── SequenceEntity.cs ├── app.config ├── getAddress.Sequence.Mongodb.csproj └── packages.config ├── getAddress.Sequence.SqlServer.1.0.1.nupkg ├── getAddress.Sequence.SqlServer.4.5.1 ├── App.config ├── Properties │ └── AssemblyInfo.cs ├── getAddress.Sequence.SqlServer.csproj └── packages.config ├── getAddress.Sequence.SqlServer ├── App.config ├── Properties │ └── AssemblyInfo.cs ├── SequenceConfiguration.cs ├── SequenceDbContext.cs ├── SqlServerSequence.cs ├── SqlServerStateProvider.cs ├── SqlServerStateProviderFactory.cs ├── getAddress.Sequence.SqlServer.csproj └── packages.config ├── getAddress.Sequence.Tests ├── App.config ├── InMemoryStateProvider.cs ├── Properties │ └── AssemblyInfo.cs ├── Sequence.cs ├── Tests.cs ├── getAddress.Sequence.Tests.csproj └── packages.config ├── getAddress.Sequence.dotNetCore.Tests ├── InMemoryStateProvider.cs ├── Properties │ └── AssemblyInfo.cs ├── Sequence.cs ├── Tests.cs └── getAddress.Sequence.dotNetCore.Tests.csproj ├── getAddress.Sequence.dotNetCore ├── Exceptions.cs ├── ISequence.cs ├── IStateProvider.cs ├── Properties │ └── AssemblyInfo.cs ├── SequenceGenerator.cs ├── SequenceKey.cs ├── SequenceOptions.cs └── getAddress.Sequence.dotNetCore.csproj ├── getAddress.Sequence.sln ├── getAddress.Sequence ├── Exceptions.cs ├── ISequence.cs ├── IStateProvider.cs ├── Properties │ └── AssemblyInfo.cs ├── SequenceGenerator.cs ├── SequenceKey.cs ├── SequenceOptions.cs └── getAddress.Sequence.csproj └── packages ├── EntityFramework.6.1.1 ├── lib │ ├── net40 │ │ ├── EntityFramework.SqlServer.dll │ │ ├── EntityFramework.SqlServer.xml │ │ ├── EntityFramework.dll │ │ └── EntityFramework.xml │ └── net45 │ │ ├── EntityFramework.SqlServer.dll │ │ ├── EntityFramework.SqlServer.xml │ │ ├── EntityFramework.dll │ │ └── EntityFramework.xml └── tools │ ├── EntityFramework.PowerShell.Utility.dll │ ├── EntityFramework.PowerShell.dll │ ├── EntityFramework.psd1 │ ├── EntityFramework.psm1 │ ├── about_EntityFramework.help.txt │ ├── init.ps1 │ ├── install.ps1 │ └── migrate.exe ├── Microsoft.Data.Edm.5.6.2 ├── Microsoft.Data.Edm.5.6.2.nupkg └── lib │ ├── net40 │ ├── Microsoft.Data.Edm.dll │ ├── Microsoft.Data.Edm.xml │ ├── de │ │ └── Microsoft.Data.Edm.resources.dll │ ├── es │ │ └── Microsoft.Data.Edm.resources.dll │ ├── fr │ │ └── Microsoft.Data.Edm.resources.dll │ ├── it │ │ └── Microsoft.Data.Edm.resources.dll │ ├── ja │ │ └── Microsoft.Data.Edm.resources.dll │ ├── ko │ │ └── Microsoft.Data.Edm.resources.dll │ ├── ru │ │ └── Microsoft.Data.Edm.resources.dll │ ├── zh-Hans │ │ └── Microsoft.Data.Edm.resources.dll │ └── zh-Hant │ │ └── Microsoft.Data.Edm.resources.dll │ ├── portable-net40+sl5+wp8+win8+wpa │ ├── Microsoft.Data.Edm.dll │ ├── Microsoft.Data.Edm.xml │ ├── de │ │ └── Microsoft.Data.Edm.resources.dll │ ├── es │ │ └── Microsoft.Data.Edm.resources.dll │ ├── fr │ │ └── Microsoft.Data.Edm.resources.dll │ ├── it │ │ └── Microsoft.Data.Edm.resources.dll │ ├── ja │ │ └── Microsoft.Data.Edm.resources.dll │ ├── ko │ │ └── Microsoft.Data.Edm.resources.dll │ ├── ru │ │ └── Microsoft.Data.Edm.resources.dll │ ├── zh-Hans │ │ └── Microsoft.Data.Edm.resources.dll │ └── zh-Hant │ │ └── Microsoft.Data.Edm.resources.dll │ └── sl4 │ ├── Microsoft.Data.Edm.dll │ ├── Microsoft.Data.Edm.xml │ ├── de │ └── Microsoft.Data.Edm.resources.dll │ ├── es │ └── Microsoft.Data.Edm.resources.dll │ ├── fr │ └── Microsoft.Data.Edm.resources.dll │ ├── it │ └── Microsoft.Data.Edm.resources.dll │ ├── ja │ └── Microsoft.Data.Edm.resources.dll │ ├── ko │ └── Microsoft.Data.Edm.resources.dll │ ├── ru │ └── Microsoft.Data.Edm.resources.dll │ ├── zh-Hans │ └── Microsoft.Data.Edm.resources.dll │ └── zh-Hant │ └── Microsoft.Data.Edm.resources.dll ├── Microsoft.Data.OData.5.6.2 ├── Microsoft.Data.OData.5.6.2.nupkg └── lib │ ├── net40 │ ├── Microsoft.Data.OData.dll │ ├── Microsoft.Data.OData.xml │ ├── de │ │ └── Microsoft.Data.OData.resources.dll │ ├── es │ │ └── Microsoft.Data.OData.resources.dll │ ├── fr │ │ └── Microsoft.Data.OData.resources.dll │ ├── it │ │ └── Microsoft.Data.OData.resources.dll │ ├── ja │ │ └── Microsoft.Data.OData.resources.dll │ ├── ko │ │ └── Microsoft.Data.OData.resources.dll │ ├── ru │ │ └── Microsoft.Data.OData.resources.dll │ ├── zh-Hans │ │ └── Microsoft.Data.OData.resources.dll │ └── zh-Hant │ │ └── Microsoft.Data.OData.resources.dll │ ├── portable-net40+sl5+wp8+win8+wpa │ ├── Microsoft.Data.OData.dll │ ├── Microsoft.Data.OData.xml │ ├── de │ │ └── Microsoft.Data.OData.resources.dll │ ├── es │ │ └── Microsoft.Data.OData.resources.dll │ ├── fr │ │ └── Microsoft.Data.OData.resources.dll │ ├── it │ │ └── Microsoft.Data.OData.resources.dll │ ├── ja │ │ └── Microsoft.Data.OData.resources.dll │ ├── ko │ │ └── Microsoft.Data.OData.resources.dll │ ├── ru │ │ └── Microsoft.Data.OData.resources.dll │ ├── zh-Hans │ │ └── Microsoft.Data.OData.resources.dll │ └── zh-Hant │ │ └── Microsoft.Data.OData.resources.dll │ └── sl4 │ ├── Microsoft.Data.OData.dll │ ├── Microsoft.Data.OData.xml │ ├── de │ └── Microsoft.Data.OData.resources.dll │ ├── es │ └── Microsoft.Data.OData.resources.dll │ ├── fr │ └── Microsoft.Data.OData.resources.dll │ ├── it │ └── Microsoft.Data.OData.resources.dll │ ├── ja │ └── Microsoft.Data.OData.resources.dll │ ├── ko │ └── Microsoft.Data.OData.resources.dll │ ├── ru │ └── Microsoft.Data.OData.resources.dll │ ├── zh-Hans │ └── Microsoft.Data.OData.resources.dll │ └── zh-Hant │ └── Microsoft.Data.OData.resources.dll ├── Microsoft.Data.Services.Client.5.6.2 ├── Microsoft.Data.Services.Client.5.6.2.nupkg └── lib │ ├── net40 │ ├── Microsoft.Data.Services.Client.dll │ ├── Microsoft.Data.Services.Client.xml │ ├── de │ │ └── Microsoft.Data.Services.Client.resources.dll │ ├── es │ │ └── Microsoft.Data.Services.Client.resources.dll │ ├── fr │ │ └── Microsoft.Data.Services.Client.resources.dll │ ├── it │ │ └── Microsoft.Data.Services.Client.resources.dll │ ├── ja │ │ └── Microsoft.Data.Services.Client.resources.dll │ ├── ko │ │ └── Microsoft.Data.Services.Client.resources.dll │ ├── ru │ │ └── Microsoft.Data.Services.Client.resources.dll │ ├── zh-Hans │ │ └── Microsoft.Data.Services.Client.resources.dll │ └── zh-Hant │ │ └── Microsoft.Data.Services.Client.resources.dll │ ├── portable-net45+wp8+win8+wpa │ ├── Microsoft.Data.Services.Client.dll │ ├── Microsoft.Data.Services.Client.xml │ ├── de │ │ └── Microsoft.Data.Services.Client.resources.dll │ ├── es │ │ └── Microsoft.Data.Services.Client.resources.dll │ ├── fr │ │ └── Microsoft.Data.Services.Client.resources.dll │ ├── it │ │ └── Microsoft.Data.Services.Client.resources.dll │ ├── ja │ │ └── Microsoft.Data.Services.Client.resources.dll │ ├── ko │ │ └── Microsoft.Data.Services.Client.resources.dll │ ├── ru │ │ └── Microsoft.Data.Services.Client.resources.dll │ ├── zh-Hans │ │ └── Microsoft.Data.Services.Client.resources.dll │ └── zh-Hant │ │ └── Microsoft.Data.Services.Client.resources.dll │ └── sl4 │ ├── Microsoft.Data.Services.Client.dll │ ├── Microsoft.Data.Services.Client.xml │ ├── de │ └── Microsoft.Data.Services.Client.resources.dll │ ├── es │ └── Microsoft.Data.Services.Client.resources.dll │ ├── fr │ └── Microsoft.Data.Services.Client.resources.dll │ ├── it │ └── Microsoft.Data.Services.Client.resources.dll │ ├── ja │ └── Microsoft.Data.Services.Client.resources.dll │ ├── ko │ └── Microsoft.Data.Services.Client.resources.dll │ ├── ru │ └── Microsoft.Data.Services.Client.resources.dll │ ├── zh-Hans │ └── Microsoft.Data.Services.Client.resources.dll │ └── zh-Hant │ └── Microsoft.Data.Services.Client.resources.dll ├── Microsoft.WindowsAzure.ConfigurationManager.1.8.0.0 ├── Microsoft.WindowsAzure.ConfigurationManager.1.8.0.0.nupkg └── lib │ └── net35-full │ └── Microsoft.WindowsAzure.Configuration.dll ├── MongoRepository.1.6.10 ├── MongoRepository.1.6.10.nupkg ├── MongoRepository.chm ├── lib │ ├── net35 │ │ ├── MongoRepository.Net35.dll │ │ └── MongoRepository.Net35.xml │ ├── net40 │ │ ├── MongoRepository.Net40.dll │ │ └── MongoRepository.Net40.xml │ └── net45 │ │ ├── MongoRepository.Net45.dll │ │ └── MongoRepository.Net45.xml └── tools │ ├── install.ps1 │ └── uninstall.ps1 ├── Newtonsoft.Json.5.0.8 ├── Newtonsoft.Json.5.0.8.nupkg ├── lib │ ├── net20 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml │ ├── net35 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml │ ├── net40 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml │ ├── net45 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml │ ├── netcore45 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml │ ├── portable-net40+sl4+wp7+win8 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml │ └── portable-net45+wp80+win8 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml └── tools │ └── install.ps1 ├── System.Spatial.5.6.2 ├── System.Spatial.5.6.2.nupkg └── lib │ ├── net40 │ ├── System.Spatial.dll │ ├── System.Spatial.xml │ ├── de │ │ └── System.Spatial.resources.dll │ ├── es │ │ └── System.Spatial.resources.dll │ ├── fr │ │ └── System.Spatial.resources.dll │ ├── it │ │ └── System.Spatial.resources.dll │ ├── ja │ │ └── System.Spatial.resources.dll │ ├── ko │ │ └── System.Spatial.resources.dll │ ├── ru │ │ └── System.Spatial.resources.dll │ ├── zh-Hans │ │ └── System.Spatial.resources.dll │ └── zh-Hant │ │ └── System.Spatial.resources.dll │ ├── portable-net40+sl5+wp8+win8+wpa │ ├── System.Spatial.dll │ ├── System.Spatial.xml │ ├── de │ │ └── System.Spatial.resources.dll │ ├── es │ │ └── System.Spatial.resources.dll │ ├── fr │ │ └── System.Spatial.resources.dll │ ├── it │ │ └── System.Spatial.resources.dll │ ├── ja │ │ └── System.Spatial.resources.dll │ ├── ko │ │ └── System.Spatial.resources.dll │ ├── ru │ │ └── System.Spatial.resources.dll │ ├── zh-Hans │ │ └── System.Spatial.resources.dll │ └── zh-Hant │ │ └── System.Spatial.resources.dll │ └── sl4 │ ├── System.Spatial.dll │ ├── System.Spatial.xml │ ├── de │ └── System.Spatial.resources.dll │ ├── es │ └── System.Spatial.resources.dll │ ├── fr │ └── System.Spatial.resources.dll │ ├── it │ └── System.Spatial.resources.dll │ ├── ja │ └── System.Spatial.resources.dll │ ├── ko │ └── System.Spatial.resources.dll │ ├── ru │ └── System.Spatial.resources.dll │ ├── zh-Hans │ └── System.Spatial.resources.dll │ └── zh-Hant │ └── System.Spatial.resources.dll ├── WindowsAzure.Storage.4.3.0 ├── WindowsAzure.Storage.4.3.0.nupkg └── lib │ ├── net40 │ ├── Microsoft.WindowsAzure.Storage.dll │ └── Microsoft.WindowsAzure.Storage.xml │ ├── win8 │ └── Microsoft.WindowsAzure.Storage.dll │ ├── wp8 │ └── Microsoft.WindowsAzure.Storage.dll │ └── wpa │ └── Microsoft.WindowsAzure.Storage.dll └── mongocsharpdriver.1.10.1 ├── License.rtf ├── lib └── net35 │ ├── MongoDB.Bson.XML │ ├── MongoDB.Bson.dll │ ├── MongoDB.Driver.XML │ └── MongoDB.Driver.dll └── mongocsharpdriver.1.10.1.nupkg /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | 4 | # User-specific files 5 | *.suo 6 | *.user 7 | *.sln.docstates 8 | 9 | # Build results 10 | 11 | [Dd]ebug/ 12 | [Rr]elease/ 13 | x64/ 14 | build/ 15 | [Bb]in/ 16 | [Oo]bj/ 17 | 18 | # Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets 19 | !packages/*/build/ 20 | 21 | # MSTest test Results 22 | [Tt]est[Rr]esult*/ 23 | [Bb]uild[Ll]og.* 24 | 25 | *_i.c 26 | *_p.c 27 | *.ilk 28 | *.meta 29 | *.obj 30 | *.pch 31 | *.pdb 32 | *.pgc 33 | *.pgd 34 | *.rsp 35 | *.sbr 36 | *.tlb 37 | *.tli 38 | *.tlh 39 | *.tmp 40 | *.tmp_proj 41 | *.log 42 | *.vspscc 43 | *.vssscc 44 | .builds 45 | *.pidb 46 | *.log 47 | *.scc 48 | 49 | # Visual C++ cache files 50 | ipch/ 51 | *.aps 52 | *.ncb 53 | *.opensdf 54 | *.sdf 55 | *.cachefile 56 | 57 | # Visual Studio profiler 58 | *.psess 59 | *.vsp 60 | *.vspx 61 | 62 | # Guidance Automation Toolkit 63 | *.gpState 64 | 65 | # ReSharper is a .NET coding add-in 66 | _ReSharper*/ 67 | *.[Rr]e[Ss]harper 68 | 69 | # TeamCity is a build add-in 70 | _TeamCity* 71 | 72 | # DotCover is a Code Coverage Tool 73 | *.dotCover 74 | 75 | # NCrunch 76 | *.ncrunch* 77 | .*crunch*.local.xml 78 | 79 | # Installshield output folder 80 | [Ee]xpress/ 81 | 82 | # DocProject is a documentation generator add-in 83 | DocProject/buildhelp/ 84 | DocProject/Help/*.HxT 85 | DocProject/Help/*.HxC 86 | DocProject/Help/*.hhc 87 | DocProject/Help/*.hhk 88 | DocProject/Help/*.hhp 89 | DocProject/Help/Html2 90 | DocProject/Help/html 91 | 92 | # Click-Once directory 93 | publish/ 94 | 95 | # Publish Web Output 96 | *.Publish.xml 97 | 98 | # NuGet Packages Directory 99 | ## TODO: If you have NuGet Package Restore enabled, uncomment the next line 100 | #packages/ 101 | 102 | # Windows Azure Build Output 103 | csx 104 | *.build.csdef 105 | 106 | # Windows Store app package directory 107 | AppPackages/ 108 | 109 | # Others 110 | sql/ 111 | *.Cache 112 | ClientBin/ 113 | [Ss]tyle[Cc]op.* 114 | ~$* 115 | *~ 116 | *.dbmdl 117 | *.[Pp]ublish.xml 118 | *.pfx 119 | *.publishsettings 120 | 121 | # RIA/Silverlight projects 122 | Generated_Code/ 123 | 124 | # Backup & report files from converting an old project file to a newer 125 | # Visual Studio version. Backup files are not needed, because we have git ;-) 126 | _UpgradeReport_Files/ 127 | Backup*/ 128 | UpgradeLog*.XML 129 | UpgradeLog*.htm 130 | 131 | # SQL Server files 132 | App_Data/*.mdf 133 | App_Data/*.ldf 134 | 135 | 136 | #LightSwitch generated files 137 | GeneratedArtifacts/ 138 | _Pvt_Extensions/ 139 | ModelManifest.xml 140 | 141 | # ========================= 142 | # Windows detritus 143 | # ========================= 144 | 145 | # Windows image file caches 146 | Thumbs.db 147 | ehthumbs.db 148 | 149 | # Folder config file 150 | Desktop.ini 151 | 152 | # Recycle Bin used on file shares 153 | $RECYCLE.BIN/ 154 | 155 | # Mac desktop service store files 156 | .DS_Store 157 | getAddress.Sequence.Mongodb/GenerateId.cs 158 | packages/EntityFramework.6.1.1/content/App.config.transform 159 | packages/EntityFramework.6.1.1/EntityFramework.6.1.1.nupkg 160 | *.transform 161 | -------------------------------------------------------------------------------- /.nuget/NuGet.Config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.nuget/NuGet.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/.nuget/NuGet.exe -------------------------------------------------------------------------------- /.vs/restore.dg: -------------------------------------------------------------------------------- 1 | #:D:\Workshop\GitHub\Sequence\getAddress.Sequence.dotNetCore.Tests\getAddress.Sequence.dotNetCore.Tests.xproj 2 | D:\Workshop\GitHub\Sequence\getAddress.Sequence.dotNetCore.Tests\getAddress.Sequence.dotNetCore.Tests.xproj|D:\Workshop\GitHub\Sequence\getAddress.Sequence.EntityFramework.MySql\getAddress.Sequence.EntityFramework.MySql.xproj 3 | D:\Workshop\GitHub\Sequence\getAddress.Sequence.dotNetCore.Tests\getAddress.Sequence.dotNetCore.Tests.xproj|D:\Workshop\GitHub\Sequence\getAddress.Sequence.EntityFramework.SqlServer\getAddress.Sequence.EntityFramework.SqlServer.xproj 4 | D:\Workshop\GitHub\Sequence\getAddress.Sequence.EntityFramework.MySql\getAddress.Sequence.EntityFramework.MySql.xproj|D:\Workshop\GitHub\Sequence\getAddress.Sequence.dotNetCore\getAddress.Sequence.xproj 5 | D:\Workshop\GitHub\Sequence\getAddress.Sequence.EntityFramework.SqlServer\getAddress.Sequence.EntityFramework.SqlServer.xproj|D:\Workshop\GitHub\Sequence\getAddress.Sequence.dotNetCore\getAddress.Sequence.xproj 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 getAddress() 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Sequence 2 | ======== 3 | 4 | A multiple instance and thread safe unique number sequence generator. 5 | 6 | Replicates the create sequence transact-SQL functionality (http://msdn.microsoft.com/en-us/library/ff878091.aspx) in a .Net assembly. 7 | 8 |

What's the point?

9 | 10 | The 'Create Sequence' command is not supported on Sql Azure: 11 | (https://connect.microsoft.com/SQLServer/feedback/details/723601/support-native-sequences-in-sql-azure) 12 | 13 | You can now use any Sql or NoSql database to store your sequence. Just implement IStateStore. 14 | 15 | 16 |

When using Azure table storage as the store state

17 | 18 |

Install

19 | ``` 20 | Install from Nuget: 21 | 22 | PM> Install-Package getAddress.Sequence.Azure 23 | ``` 24 | 25 |

Usage

26 | 27 | ``` 28 | static void Main(string[] args) 29 | { 30 | Run().Wait(); 31 | 32 | Console.Read(); 33 | } 34 | 35 | private async static Task Run() 36 | { 37 | 38 | var stateProvider = AzureStateProviderFactory.Get("" /* Your azure storage connection string*/, "mySequenceTable" /*or any table name*/); 39 | 40 | var sequence = await stateProvider.NewAsync(new SequenceOptions 41 | { 42 | Cycle = false, 43 | Increment = 1, 44 | MaxValue = 100, 45 | MinValue = 0, 46 | StartAt = 0 47 | }); 48 | 49 | var sequenceKey = await stateProvider.AddAsync(sequence); 50 | 51 | var sequenceGenerator = new SequenceGenerator(stateProvider); 52 | 53 | for (int i = 0; i < 10; i++) 54 | { 55 | Console.WriteLine(await sequenceGenerator.NextAsync(sequenceKey)); 56 | } 57 | 58 | 59 | } 60 | ``` 61 |

Output

62 | ``` 63 | 1 64 | 2 65 | 3 66 | 4 67 | 5 68 | 6 69 | 7 70 | 8 71 | 9 72 | 10 73 | 74 | ``` 75 | 76 |

When using SQL Server as the store state

77 | 78 |

Install

79 | ``` 80 | Install from Nuget: 81 | 82 | PM> Install-Package getAddress.Sequence.SqlServer 83 | ``` 84 | 85 |

Usage

86 | 87 | ``` 88 | static void Main(string[] args) 89 | { 90 | Run().Wait(); 91 | 92 | Console.Read(); 93 | } 94 | 95 | private async static Task Run() 96 | { 97 | 98 | var stateProvider = SqlServerStateProviderFactory.Get("" /* Your connection string*/); 99 | 100 | var sequence = await stateProvider.NewAsync(new SequenceOptions 101 | { 102 | Cycle = false, 103 | Increment = 1, 104 | MaxValue = 100, 105 | MinValue = 0, 106 | StartAt = 0 107 | }); 108 | 109 | var sequenceKey = await stateProvider.AddAsync(sequence); 110 | 111 | var sequenceGenerator = new SequenceGenerator(stateProvider); 112 | 113 | for (int i = 0; i < 10; i++) 114 | { 115 | Console.WriteLine(await sequenceGenerator.NextAsync(sequenceKey)); 116 | } 117 | 118 | 119 | } 120 | ``` 121 |

Output

122 | ``` 123 | 1 124 | 2 125 | 3 126 | 4 127 | 5 128 | 6 129 | 7 130 | 8 131 | 9 132 | 10 133 | 134 | ``` 135 |

When using Mongo as the store state

136 | 137 |

Install

138 | ``` 139 | Install from Nuget: 140 | 141 | PM> Install-Package getAddress.Sequence.Mongo 142 | ``` 143 | 144 |

Usage

145 | 146 | ``` 147 | static void Main(string[] args) 148 | { 149 | Run().Wait(); 150 | 151 | Console.Read(); 152 | } 153 | 154 | private async static Task Run() 155 | { 156 | 157 | var stateProvider = MongoStateProviderFactory.Get("" /* Your connection string*/); 158 | 159 | var sequence = await stateProvider.NewAsync(new SequenceOptions 160 | { 161 | Cycle = false, 162 | Increment = 1, 163 | MaxValue = 100, 164 | MinValue = 0, 165 | StartAt = 0 166 | }); 167 | 168 | var sequenceKey = await stateProvider.AddAsync(sequence); 169 | 170 | var sequenceGenerator = new SequenceGenerator(stateProvider); 171 | 172 | for (int i = 0; i < 10; i++) 173 | { 174 | Console.WriteLine(await sequenceGenerator.NextAsync(sequenceKey)); 175 | } 176 | 177 | 178 | } 179 | ``` 180 |

Output

181 | ``` 182 | 1 183 | 2 184 | 3 185 | 4 186 | 5 187 | 6 188 | 7 189 | 8 190 | 9 191 | 10 192 | -------------------------------------------------------------------------------- /getAddress.Sequence-dotNetCore.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26206.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "getAddress.Sequence.dotNetCore", "getAddress.Sequence.dotNetCore\getAddress.Sequence.dotNetCore.csproj", "{0BE7E14B-3BB5-46EC-A7B1-20641FA25424}" 7 | EndProject 8 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "getAddress.Sequence.dotNetCore.Tests", "getAddress.Sequence.dotNetCore.Tests\getAddress.Sequence.dotNetCore.Tests.csproj", "{C82EA650-346E-49B3-86B8-C1E62960040E}" 9 | EndProject 10 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "getAddress.Sequence.EntityFramework.SqlServer", "getAddress.Sequence.EntityFramework.SqlServer\getAddress.Sequence.EntityFramework.SqlServer.csproj", "{5CB98830-F62E-4DFA-802C-37A90C50BAEC}" 11 | EndProject 12 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "getAddress.Sequence.EntityFramework.MySql", "getAddress.Sequence.EntityFramework.MySql\getAddress.Sequence.EntityFramework.MySql.csproj", "{452559FD-0F75-4C2D-88C3-0129D878EE2F}" 13 | EndProject 14 | Global 15 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 16 | Debug|Any CPU = Debug|Any CPU 17 | Release|Any CPU = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {0BE7E14B-3BB5-46EC-A7B1-20641FA25424}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {0BE7E14B-3BB5-46EC-A7B1-20641FA25424}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {0BE7E14B-3BB5-46EC-A7B1-20641FA25424}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {0BE7E14B-3BB5-46EC-A7B1-20641FA25424}.Release|Any CPU.Build.0 = Release|Any CPU 24 | {C82EA650-346E-49B3-86B8-C1E62960040E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 25 | {C82EA650-346E-49B3-86B8-C1E62960040E}.Debug|Any CPU.Build.0 = Debug|Any CPU 26 | {C82EA650-346E-49B3-86B8-C1E62960040E}.Release|Any CPU.ActiveCfg = Release|Any CPU 27 | {C82EA650-346E-49B3-86B8-C1E62960040E}.Release|Any CPU.Build.0 = Release|Any CPU 28 | {5CB98830-F62E-4DFA-802C-37A90C50BAEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 29 | {5CB98830-F62E-4DFA-802C-37A90C50BAEC}.Debug|Any CPU.Build.0 = Debug|Any CPU 30 | {5CB98830-F62E-4DFA-802C-37A90C50BAEC}.Release|Any CPU.ActiveCfg = Release|Any CPU 31 | {5CB98830-F62E-4DFA-802C-37A90C50BAEC}.Release|Any CPU.Build.0 = Release|Any CPU 32 | {452559FD-0F75-4C2D-88C3-0129D878EE2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 33 | {452559FD-0F75-4C2D-88C3-0129D878EE2F}.Debug|Any CPU.Build.0 = Debug|Any CPU 34 | {452559FD-0F75-4C2D-88C3-0129D878EE2F}.Release|Any CPU.ActiveCfg = Release|Any CPU 35 | {452559FD-0F75-4C2D-88C3-0129D878EE2F}.Release|Any CPU.Build.0 = Release|Any CPU 36 | EndGlobalSection 37 | GlobalSection(SolutionProperties) = preSolution 38 | HideSolutionNode = FALSE 39 | EndGlobalSection 40 | EndGlobal 41 | -------------------------------------------------------------------------------- /getAddress.Sequence.4.5.1/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("getAddress.Sequence.4.5.1")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("getAddress.Sequence.4.5.1")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2014")] 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("b989acbb-b035-4438-a3b8-724ab526d71c")] 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 | -------------------------------------------------------------------------------- /getAddress.Sequence.4.5.1/getAddress.Sequence.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {3706AB79-CE94-48B7-A6DA-674B0863309E} 8 | Library 9 | Properties 10 | getAddress.Sequence 11 | getAddress.Sequence 12 | v4.5.1 13 | 512 14 | 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | false 25 | 26 | 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | false 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | Exceptions.cs 47 | 48 | 49 | ISequence.cs 50 | 51 | 52 | IStateProvider.cs 53 | 54 | 55 | SequenceGenerator.cs 56 | 57 | 58 | SequenceKey.cs 59 | 60 | 61 | SequenceOptions.cs 62 | 63 | 64 | 65 | 66 | 73 | -------------------------------------------------------------------------------- /getAddress.Sequence.Azure.1.0.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/getAddress.Sequence.Azure.1.0.1.nupkg -------------------------------------------------------------------------------- /getAddress.Sequence.Azure.4.5.1/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("getAddress.Sequence.Azure.4.5.1")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("getAddress.Sequence.Azure.4.5.1")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2014")] 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("1e1976e5-7206-421f-b4d5-ed42d63b04e1")] 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 | -------------------------------------------------------------------------------- /getAddress.Sequence.Azure.4.5.1/getAddress.Sequence.Azure.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {63403996-4AFD-403C-9A90-613E0A704F9A} 8 | Library 9 | Properties 10 | getAddress.Sequence.Azure 11 | getAddress.Sequence.Azure 12 | v4.5.1 13 | 512 14 | 15 | ..\ 16 | true 17 | 18 | 19 | true 20 | full 21 | false 22 | bin\Debug\ 23 | DEBUG;TRACE 24 | prompt 25 | 4 26 | false 27 | 28 | 29 | pdbonly 30 | true 31 | bin\Release\ 32 | TRACE 33 | prompt 34 | 4 35 | false 36 | 37 | 38 | 39 | False 40 | ..\packages\Microsoft.Data.Edm.5.6.2\lib\net40\Microsoft.Data.Edm.dll 41 | 42 | 43 | False 44 | ..\packages\Microsoft.Data.OData.5.6.2\lib\net40\Microsoft.Data.OData.dll 45 | 46 | 47 | False 48 | ..\packages\Microsoft.Data.Services.Client.5.6.2\lib\net40\Microsoft.Data.Services.Client.dll 49 | 50 | 51 | ..\packages\Microsoft.WindowsAzure.ConfigurationManager.1.8.0.0\lib\net35-full\Microsoft.WindowsAzure.Configuration.dll 52 | 53 | 54 | False 55 | ..\packages\WindowsAzure.Storage.4.3.0\lib\net40\Microsoft.WindowsAzure.Storage.dll 56 | 57 | 58 | ..\packages\Newtonsoft.Json.5.0.8\lib\net45\Newtonsoft.Json.dll 59 | 60 | 61 | 62 | 63 | False 64 | ..\packages\System.Spatial.5.6.2\lib\net40\System.Spatial.dll 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | AzureTableStateProvider.cs 75 | 76 | 77 | Exceptions.cs 78 | 79 | 80 | SequenceTableEntity.cs 81 | 82 | 83 | StateProviderFactory.cs 84 | 85 | 86 | TableEntityRepository.cs 87 | 88 | 89 | 90 | 91 | 92 | {3706ab79-ce94-48b7-a6da-674b0863309e} 93 | getAddress.Sequence 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 104 | 105 | 106 | 107 | 114 | -------------------------------------------------------------------------------- /getAddress.Sequence.Azure.4.5.1/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /getAddress.Sequence.Azure.Tests/Instanda.Sequence.Azure.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | {2B928DF0-8C12-4B77-A2BD-25FB70D4F02A} 7 | Library 8 | Properties 9 | Instanda.Sequence.Azure.Tests 10 | Instanda.Sequence.Azure.Tests 11 | v4.5.1 12 | 512 13 | {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 14 | 10.0 15 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 16 | $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages 17 | False 18 | UnitTest 19 | 20 | 21 | true 22 | full 23 | false 24 | bin\Debug\ 25 | DEBUG;TRACE 26 | prompt 27 | 4 28 | 29 | 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | 39 | False 40 | ..\packages\Microsoft.Data.Edm.5.6.2\lib\net40\Microsoft.Data.Edm.dll 41 | 42 | 43 | False 44 | ..\packages\Microsoft.Data.OData.5.6.2\lib\net40\Microsoft.Data.OData.dll 45 | 46 | 47 | False 48 | ..\packages\Microsoft.Data.Services.Client.5.6.2\lib\net40\Microsoft.Data.Services.Client.dll 49 | 50 | 51 | ..\packages\Microsoft.WindowsAzure.ConfigurationManager.1.8.0.0\lib\net35-full\Microsoft.WindowsAzure.Configuration.dll 52 | 53 | 54 | False 55 | ..\packages\WindowsAzure.Storage.4.3.0\lib\net40\Microsoft.WindowsAzure.Storage.dll 56 | 57 | 58 | ..\packages\Newtonsoft.Json.5.0.8\lib\net45\Newtonsoft.Json.dll 59 | 60 | 61 | 62 | 63 | False 64 | ..\packages\System.Spatial.5.6.2\lib\net40\System.Spatial.dll 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | {4c97e1ea-0abd-45ee-a5d7-3bb76d51dfd5} 85 | Instanda.Sequence.Azure 86 | 87 | 88 | {0d8aa225-8124-4b31-9a37-c5295f68a314} 89 | Instanda.Sequence 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | False 100 | 101 | 102 | False 103 | 104 | 105 | False 106 | 107 | 108 | False 109 | 110 | 111 | 112 | 113 | 114 | 115 | 122 | -------------------------------------------------------------------------------- /getAddress.Sequence.Azure.Tests/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("Instanda.Sequence.Azure.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("Instanda.Sequence.Azure.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2014")] 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("b95444ff-6dd8-4168-b377-4a90da5ae9be")] 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 | -------------------------------------------------------------------------------- /getAddress.Sequence.Azure.Tests/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /getAddress.Sequence.Azure/AzureTableStateProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using System.Threading.Tasks; 4 | 5 | 6 | namespace getAddress.Sequence.Azure 7 | { 8 | internal class AzureTableStateProvider : TableEntityRepository, IStateProvider 9 | { 10 | private const string PartitionKey = "Sequences"; 11 | 12 | public AzureTableStateProvider(string connectionStr, string tableName) 13 | : base(connectionStr, tableName, false) 14 | { 15 | 16 | } 17 | 18 | public async Task AddAsync(ISequence sequence) 19 | { 20 | var rowKey = Guid.NewGuid().ToString(); 21 | 22 | var sequenceEntity = (SequenceTableEntity)sequence; 23 | 24 | sequenceEntity.RowKey = rowKey; 25 | sequenceEntity.PartitionKey = PartitionKey; 26 | 27 | await base.Add(sequenceEntity); 28 | 29 | return new SequenceKey { Value = rowKey }; 30 | } 31 | 32 | public async Task GetAsync(SequenceKey sequenceKey) 33 | { 34 | var sequenceEntity = await base.Get(PartitionKey, sequenceKey.Value); 35 | 36 | return sequenceEntity; 37 | } 38 | 39 | public async Task UpdateAsync(SequenceKey sequenceKey, ISequence sequence) 40 | { 41 | var sequenceEntity = (SequenceTableEntity)sequence; 42 | 43 | sequenceEntity.RowKey = sequenceKey.Value; 44 | sequenceEntity.PartitionKey = PartitionKey; 45 | 46 | var updatedSequenceEntity = await UpdateAsync(sequenceEntity); 47 | 48 | return updatedSequenceEntity != null; 49 | } 50 | 51 | public async Task NewAsync(SequenceOptions options) 52 | { 53 | var sequence = new SequenceTableEntity(options); 54 | 55 | return await Task.FromResult(sequence); 56 | } 57 | 58 | 59 | 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /getAddress.Sequence.Azure/Exceptions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | 4 | namespace getAddress.Sequence.Azure 5 | { 6 | public abstract class AzureTableException : Exception 7 | { 8 | protected AzureTableException(string message, int httpResult) 9 | : base(message) 10 | { 11 | HttpResult = httpResult; 12 | } 13 | 14 | public int HttpResult 15 | { 16 | get; 17 | private set; 18 | } 19 | 20 | 21 | } 22 | 23 | public class AzureTableAddException : AzureTableException 24 | { 25 | public AzureTableAddException(string message, int httpResult) 26 | : base(message, httpResult) 27 | { 28 | 29 | } 30 | 31 | } 32 | 33 | 34 | public class AzureTableNameException : Exception 35 | { 36 | public AzureTableNameException(string tableName, string message) 37 | : base(string.Format(message, tableName)) 38 | { 39 | 40 | } 41 | 42 | 43 | } 44 | 45 | public class AzureContainerNameException : Exception 46 | { 47 | public AzureContainerNameException(string continerName, string message) 48 | : base(string.Format(message, continerName)) 49 | { 50 | 51 | } 52 | 53 | 54 | } 55 | public class AzureBlobNameException : Exception 56 | { 57 | public AzureBlobNameException(string blobName, string message) 58 | : base(string.Format(message, blobName)) 59 | { 60 | 61 | } 62 | 63 | 64 | } 65 | 66 | 67 | 68 | public class AzureTableUpdateException : AzureTableException 69 | { 70 | public AzureTableUpdateException(string message, int httpResult) 71 | : base(message, httpResult) 72 | { 73 | 74 | } 75 | 76 | 77 | } 78 | 79 | 80 | 81 | public class AzureTableDeleteException : AzureTableException 82 | { 83 | public AzureTableDeleteException(string message, int httpResult) 84 | : base(message, httpResult) 85 | { 86 | 87 | } 88 | 89 | 90 | } 91 | 92 | public class AzureTableLookUpException : AzureTableException 93 | { 94 | public AzureTableLookUpException(string message, int httpResult) 95 | : base(message, httpResult) 96 | { 97 | 98 | } 99 | 100 | 101 | } 102 | } 103 | -------------------------------------------------------------------------------- /getAddress.Sequence.Azure/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("getAddress.Sequence.Azure")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("getAddress")] 12 | [assembly: AssemblyProduct("getAddress.Sequence.Azure")] 13 | [assembly: AssemblyCopyright("Copyright © getAddress 2014")] 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("7c5d37f3-1139-4e73-b7e8-93c2e08c9fdd")] 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 | -------------------------------------------------------------------------------- /getAddress.Sequence.Azure/SequenceTableEntity.cs: -------------------------------------------------------------------------------- 1 |  2 | using Microsoft.WindowsAzure.Storage.Table; 3 | 4 | namespace getAddress.Sequence.Azure 5 | { 6 | internal class SequenceTableEntity:TableEntity,ISequence 7 | { 8 | public SequenceTableEntity() 9 | { 10 | 11 | } 12 | public SequenceTableEntity(SequenceOptions options):this() 13 | { 14 | StartAt = options.StartAt; 15 | CurrentValue = StartAt; 16 | Increment = options.Increment; 17 | MaxValue = options.MaxValue; 18 | MinValue = options.MinValue; 19 | Cycle = options.Cycle; 20 | } 21 | 22 | 23 | public long StartAt { get; set; } 24 | public int Increment { get; set; } 25 | public long MaxValue { get; set; } 26 | public long MinValue { get; set; } 27 | public bool Cycle { get; set; } 28 | public long CurrentValue { get; set; } 29 | 30 | } 31 | 32 | 33 | } 34 | -------------------------------------------------------------------------------- /getAddress.Sequence.Azure/StateProviderFactory.cs: -------------------------------------------------------------------------------- 1 |  2 | 3 | namespace getAddress.Sequence.Azure 4 | { 5 | public class AzureStateProviderFactory 6 | { 7 | public static IStateProvider Get(string connectionStr, string tableName) 8 | { 9 | return new AzureTableStateProvider(connectionStr,tableName); 10 | 11 | } 12 | 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /getAddress.Sequence.Azure/getAddress.Sequence.Azure.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {4C97E1EA-0ABD-45EE-A5D7-3BB76D51DFD5} 8 | Library 9 | Properties 10 | getAddress.Sequence.Azure 11 | getAddress.Sequence.Azure 12 | v4.5 13 | 512 14 | 15 | ..\ 16 | true 17 | 18 | 19 | true 20 | full 21 | false 22 | bin\Debug\ 23 | DEBUG;TRACE 24 | prompt 25 | 4 26 | 27 | 28 | pdbonly 29 | true 30 | bin\Release\ 31 | TRACE 32 | prompt 33 | 4 34 | 35 | 36 | 37 | ..\packages\Microsoft.Data.Edm.5.6.2\lib\net40\Microsoft.Data.Edm.dll 38 | True 39 | 40 | 41 | ..\packages\Microsoft.Data.OData.5.6.2\lib\net40\Microsoft.Data.OData.dll 42 | True 43 | 44 | 45 | ..\packages\Microsoft.Data.Services.Client.5.6.2\lib\net40\Microsoft.Data.Services.Client.dll 46 | True 47 | 48 | 49 | ..\packages\Microsoft.WindowsAzure.ConfigurationManager.1.8.0.0\lib\net35-full\Microsoft.WindowsAzure.Configuration.dll 50 | True 51 | 52 | 53 | ..\packages\WindowsAzure.Storage.4.3.0\lib\net40\Microsoft.WindowsAzure.Storage.dll 54 | True 55 | 56 | 57 | ..\packages\Newtonsoft.Json.5.0.8\lib\net45\Newtonsoft.Json.dll 58 | True 59 | 60 | 61 | 62 | 63 | ..\packages\System.Spatial.5.6.2\lib\net40\System.Spatial.dll 64 | True 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | {794cdafc-f291-4105-a3da-80a66ab44ec0} 86 | getAddress.Sequence 87 | 88 | 89 | 90 | 91 | 92 | 93 | This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 94 | 95 | 96 | 97 | 104 | -------------------------------------------------------------------------------- /getAddress.Sequence.Azure/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /getAddress.Sequence.EntityFramework.MySql/DbServerSequence.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel.DataAnnotations; 3 | using System.ComponentModel.DataAnnotations.Schema; 4 | 5 | namespace getAddress.Sequence.EntityFramework.MySql 6 | { 7 | 8 | [Table("DbServerSequence")] 9 | public class DbServerSequence : ISequence //,IRowVersion 10 | { 11 | 12 | public DbServerSequence() 13 | { 14 | 15 | } 16 | public DbServerSequence(SequenceOptions options):this() 17 | { 18 | StartAt = options.StartAt; 19 | CurrentValue = StartAt; 20 | Increment = options.Increment; 21 | MaxValue = options.MaxValue; 22 | MinValue = options.MinValue; 23 | Cycle = options.Cycle; 24 | 25 | } 26 | 27 | public String Key { get; set; } 28 | public long StartAt { get; set; } 29 | public int Increment { get; set; } 30 | public long MaxValue { get; set; } 31 | public long MinValue { get; set; } 32 | public bool Cycle { get; set; } 33 | public long CurrentValue { get; set; } 34 | 35 | [ConcurrencyCheck] 36 | public DateTime RowVersion { get; set; } 37 | 38 | public DateTime DateCreated { get; set; } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /getAddress.Sequence.EntityFramework.MySql/DbServerStateProvider.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.EntityFrameworkCore; 2 | using System; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace getAddress.Sequence.EntityFramework.MySql 8 | { 9 | public class DbServerStateProvider:IStateProvider 10 | { 11 | private readonly SequenceDbContext DbContext; 12 | private readonly DbSet DbSet; 13 | 14 | public DbServerStateProvider(DbContextOptions opt) 15 | { 16 | DbContext = new SequenceDbContext(opt); 17 | 18 | DbSet = DbContext.Set(); 19 | 20 | } 21 | 22 | public async Task AddAsync(ISequence sequence) 23 | { 24 | var sqlServerSequence = (DbServerSequence)sequence; 25 | 26 | sqlServerSequence.Key = Guid.NewGuid().ToString(); 27 | sqlServerSequence.DateCreated = DateTime.UtcNow; 28 | 29 | DbSet.Add(sqlServerSequence); 30 | 31 | await SaveChangesAsync(); 32 | 33 | return new SequenceKey { Value = sqlServerSequence.Key.ToString() }; 34 | } 35 | 36 | public async Task GetAsync(SequenceKey sequenceKey) 37 | { 38 | var sequence = await DbSet.FirstOrDefaultAsync(s => s.Key == sequenceKey.Value); 39 | return sequence; 40 | } 41 | 42 | 43 | private async Task SaveChangesAsync(bool handleConcurrencyExceptions = true) 44 | { 45 | try 46 | { 47 | return await Task.FromResult(DbContext.SaveChanges()); 48 | } 49 | catch (DbUpdateConcurrencyException) 50 | { 51 | if (handleConcurrencyExceptions) 52 | { 53 | return 0; 54 | } 55 | throw; 56 | } 57 | 58 | } 59 | 60 | public async Task UpdateAsync(SequenceKey sequenceKey, ISequence sequence) 61 | { 62 | 63 | var updateResult = await SaveChangesAsync(); 64 | 65 | if (updateResult != 1) 66 | { 67 | Reload(sequence); 68 | 69 | return false; 70 | } 71 | return true; 72 | } 73 | 74 | private void Reload(ISequence sequence) 75 | { 76 | DbContext.Entry(sequence).Reload(); 77 | } 78 | 79 | public async Task NewAsync(SequenceOptions options) 80 | { 81 | return await Task.FromResult(new DbServerSequence(options)); 82 | } 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /getAddress.Sequence.EntityFramework.MySql/DbServerStateProviderFactory.cs: -------------------------------------------------------------------------------- 1 |  2 | 3 | using Microsoft.EntityFrameworkCore; 4 | 5 | namespace getAddress.Sequence.EntityFramework.MySql 6 | { 7 | public class DbServerStateProviderFactory 8 | { 9 | public static IStateProvider Get(DbContextOptions opt) 10 | { 11 | return new DbServerStateProvider(opt); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /getAddress.Sequence.EntityFramework.MySql/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: AssemblyConfiguration("")] 9 | [assembly: AssemblyCompany("Microsoft")] 10 | [assembly: AssemblyProduct("getAddress.Sequence.EntityFramework.MySql")] 11 | [assembly: AssemblyTrademark("")] 12 | 13 | // Setting ComVisible to false makes the types in this assembly not visible 14 | // to COM components. If you need to access a type in this assembly from 15 | // COM, set the ComVisible attribute to true on that type. 16 | [assembly: ComVisible(false)] 17 | 18 | // The following GUID is for the ID of the typelib if this project is exposed to COM 19 | [assembly: Guid("452559fd-0f75-4c2d-88c3-0129d878ee2f")] 20 | -------------------------------------------------------------------------------- /getAddress.Sequence.EntityFramework.MySql/SequenceDbContext.cs: -------------------------------------------------------------------------------- 1 |  2 | using Microsoft.EntityFrameworkCore; 3 | using System; 4 | using System.Linq; 5 | 6 | namespace getAddress.Sequence.EntityFramework.MySql 7 | { 8 | 9 | public class SequenceDbContext : DbContext 10 | { 11 | 12 | 13 | public SequenceDbContext() 14 | { 15 | 16 | } 17 | public SequenceDbContext(DbContextOptions opt) 18 | : base(opt) 19 | { 20 | 21 | } 22 | 23 | public DbSet Sequences { get; set; } 24 | 25 | 26 | protected override void OnModelCreating(ModelBuilder builder) 27 | { 28 | base.OnModelCreating(builder); 29 | 30 | builder.Entity(e => 31 | { 32 | e.HasKey(x => x.Key); 33 | e.Property(x => x.RowVersion).IsRowVersion().IsConcurrencyToken(); 34 | }); 35 | } 36 | 37 | 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /getAddress.Sequence.EntityFramework.MySql/getAddress.Sequence.EntityFramework.MySql.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 1.0.0.1 5 | net451;netstandard1.6 6 | getAddress.Sequence.EntityFramework.MySql 7 | getAddress.Sequence.EntityFramework.MySql 8 | 1.6.1 9 | false 10 | false 11 | false 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /getAddress.Sequence.EntityFramework.SqlServer/.vs/restore.dg: -------------------------------------------------------------------------------- 1 | #:D:\Workshop\GitHub\Sequence\getAddress.Sequence.EntityFramework.dotNetCore\getAddress.Sequence.EntityFramework.dotNetCore.xproj 2 | D:\Workshop\GitHub\Sequence\getAddress.Sequence.EntityFramework.dotNetCore\getAddress.Sequence.EntityFramework.dotNetCore.xproj|D:\Workshop\GitHub\Sequence\getAddress.Sequence.dotNetCore\getAddress.Sequence.xproj 3 | -------------------------------------------------------------------------------- /getAddress.Sequence.EntityFramework.SqlServer/DbServerSequence.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel.DataAnnotations; 3 | using System.ComponentModel.DataAnnotations.Schema; 4 | 5 | namespace getAddress.Sequence.EntityFramework.SqlServer 6 | { 7 | 8 | [Table("DbServerSequence")] 9 | public class DbServerSequence : ISequence 10 | { 11 | 12 | public DbServerSequence() 13 | { 14 | 15 | } 16 | public DbServerSequence(SequenceOptions options):this() 17 | { 18 | StartAt = options.StartAt; 19 | CurrentValue = StartAt; 20 | Increment = options.Increment; 21 | MaxValue = options.MaxValue; 22 | MinValue = options.MinValue; 23 | Cycle = options.Cycle; 24 | 25 | } 26 | 27 | public String Key { get; set; } 28 | public long StartAt { get; set; } 29 | public int Increment { get; set; } 30 | public long MaxValue { get; set; } 31 | public long MinValue { get; set; } 32 | public bool Cycle { get; set; } 33 | public long CurrentValue { get; set; } 34 | 35 | [ConcurrencyCheck] 36 | public byte[] RowVersion { get; set; } 37 | public DateTime DateCreated { get; set; } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /getAddress.Sequence.EntityFramework.SqlServer/DbServerStateProvider.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.EntityFrameworkCore; 2 | using System; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace getAddress.Sequence.EntityFramework.SqlServer 8 | { 9 | public class DbServerStateProvider:IStateProvider 10 | { 11 | private readonly SequenceDbContext DbContext; 12 | private readonly DbSet DbSet; 13 | 14 | public DbServerStateProvider(DbContextOptions opt) 15 | { 16 | DbContext = new SequenceDbContext(opt); 17 | 18 | DbSet = DbContext.Set(); 19 | 20 | } 21 | 22 | public async Task AddAsync(ISequence sequence) 23 | { 24 | var sqlServerSequence = (DbServerSequence)sequence; 25 | 26 | sqlServerSequence.Key = Guid.NewGuid().ToString(); 27 | sqlServerSequence.DateCreated = DateTime.UtcNow; 28 | 29 | DbSet.Add(sqlServerSequence); 30 | 31 | await SaveChangesAsync(); 32 | 33 | return new SequenceKey { Value = sqlServerSequence.Key.ToString() }; 34 | } 35 | 36 | public async Task GetAsync(SequenceKey sequenceKey) 37 | { 38 | var sequence = await DbSet.FirstOrDefaultAsync(s => s.Key == sequenceKey.Value); 39 | return sequence; 40 | } 41 | 42 | 43 | private async Task SaveChangesAsync(bool handleConcurrencyExceptions = true) 44 | { 45 | try 46 | { 47 | return await Task.FromResult(DbContext.SaveChanges()); 48 | } 49 | catch(DbUpdateException) 50 | { 51 | if (handleConcurrencyExceptions) 52 | { 53 | return 0; 54 | } 55 | throw; 56 | } 57 | 58 | } 59 | 60 | public async Task UpdateAsync(SequenceKey sequenceKey, ISequence sequence) 61 | { 62 | 63 | var updateResult = await SaveChangesAsync(); 64 | 65 | if (updateResult != 1) 66 | { 67 | Reload(sequence); 68 | 69 | return false; 70 | } 71 | return true; 72 | } 73 | 74 | private void Reload(ISequence sequence) 75 | { 76 | DbContext.Entry(sequence).Reload(); 77 | } 78 | 79 | public async Task NewAsync(SequenceOptions options) 80 | { 81 | return await Task.FromResult(new DbServerSequence(options)); 82 | } 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /getAddress.Sequence.EntityFramework.SqlServer/DbServerStateProviderFactory.cs: -------------------------------------------------------------------------------- 1 |  2 | 3 | using Microsoft.EntityFrameworkCore; 4 | 5 | namespace getAddress.Sequence.EntityFramework.SqlServer 6 | { 7 | public class DbServerStateProviderFactory 8 | { 9 | public static IStateProvider Get(DbContextOptions opt) 10 | { 11 | return new DbServerStateProvider(opt); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /getAddress.Sequence.EntityFramework.SqlServer/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: AssemblyConfiguration("")] 9 | [assembly: AssemblyCompany("")] 10 | [assembly: AssemblyProduct("getAddress.Sequence.SqlServer")] 11 | [assembly: AssemblyTrademark("")] 12 | 13 | // Setting ComVisible to false makes the types in this assembly not visible 14 | // to COM components. If you need to access a type in this assembly from 15 | // COM, set the ComVisible attribute to true on that type. 16 | [assembly: ComVisible(false)] 17 | 18 | // The following GUID is for the ID of the typelib if this project is exposed to COM 19 | [assembly: Guid("5cb98830-f62e-4dfa-802c-37a90c50baec")] 20 | -------------------------------------------------------------------------------- /getAddress.Sequence.EntityFramework.SqlServer/SequenceDbContext.cs: -------------------------------------------------------------------------------- 1 |  2 | using Microsoft.EntityFrameworkCore; 3 | 4 | 5 | 6 | namespace getAddress.Sequence.EntityFramework.SqlServer 7 | { 8 | 9 | public class SequenceDbContext : DbContext 10 | { 11 | 12 | public SequenceDbContext() 13 | { 14 | } 15 | 16 | public SequenceDbContext(DbContextOptions opt) 17 | : base(opt) 18 | { 19 | 20 | } 21 | 22 | public DbSet Sequences { get; set; } 23 | 24 | 25 | protected override void OnModelCreating(ModelBuilder builder) 26 | { 27 | base.OnModelCreating(builder); 28 | 29 | builder.Entity(e => 30 | { 31 | e.HasKey(x => x.Key); 32 | e.Property(x => x.RowVersion).IsRowVersion().IsConcurrencyToken(); 33 | }); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /getAddress.Sequence.EntityFramework.SqlServer/getAddress.Sequence.EntityFramework.SqlServer.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 1.0.0.1 5 | net451;netstandard1.6 6 | getAddress.Sequence.EntityFramework.SqlServer 7 | getAddress.Sequence.EntityFramework.SqlServer 8 | 1.6.1 9 | false 10 | false 11 | false 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /getAddress.Sequence.EntityFramework.dotNetCore.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "getAddress.Sequence", "getAddress.Sequence.dotNetCore\getAddress.Sequence.xproj", "{0BE7E14B-3BB5-46EC-A7B1-20641FA25424}" 7 | EndProject 8 | Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "getAddress.Sequence.EntityFramework.dotNetCore", "getAddress.Sequence.EntityFramework.dotNetCore\getAddress.Sequence.EntityFramework.dotNetCore.xproj", "{5CB98830-F62E-4DFA-802C-37A90C50BAEC}" 9 | EndProject 10 | Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "getAddress.Sequence.dotNetCore.Tests", "getAddress.Sequence.dotNetCore.Tests\getAddress.Sequence.dotNetCore.Tests.xproj", "{C82EA650-346E-49B3-86B8-C1E62960040E}" 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 | {0BE7E14B-3BB5-46EC-A7B1-20641FA25424}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 19 | {0BE7E14B-3BB5-46EC-A7B1-20641FA25424}.Debug|Any CPU.Build.0 = Debug|Any CPU 20 | {0BE7E14B-3BB5-46EC-A7B1-20641FA25424}.Release|Any CPU.ActiveCfg = Release|Any CPU 21 | {0BE7E14B-3BB5-46EC-A7B1-20641FA25424}.Release|Any CPU.Build.0 = Release|Any CPU 22 | {5CB98830-F62E-4DFA-802C-37A90C50BAEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 23 | {5CB98830-F62E-4DFA-802C-37A90C50BAEC}.Debug|Any CPU.Build.0 = Debug|Any CPU 24 | {5CB98830-F62E-4DFA-802C-37A90C50BAEC}.Release|Any CPU.ActiveCfg = Release|Any CPU 25 | {5CB98830-F62E-4DFA-802C-37A90C50BAEC}.Release|Any CPU.Build.0 = Release|Any CPU 26 | {C82EA650-346E-49B3-86B8-C1E62960040E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 27 | {C82EA650-346E-49B3-86B8-C1E62960040E}.Debug|Any CPU.Build.0 = Debug|Any CPU 28 | {C82EA650-346E-49B3-86B8-C1E62960040E}.Release|Any CPU.ActiveCfg = Release|Any CPU 29 | {C82EA650-346E-49B3-86B8-C1E62960040E}.Release|Any CPU.Build.0 = Release|Any CPU 30 | EndGlobalSection 31 | GlobalSection(SolutionProperties) = preSolution 32 | HideSolutionNode = FALSE 33 | EndGlobalSection 34 | EndGlobal 35 | -------------------------------------------------------------------------------- /getAddress.Sequence.Mongo.1.0.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/getAddress.Sequence.Mongo.1.0.1.nupkg -------------------------------------------------------------------------------- /getAddress.Sequence.Mongodb.4.5.1/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("getAddress.Sequence.Mongodb.4.5.1")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("getAddress.Sequence.Mongodb.4.5.1")] 13 | [assembly: AssemblyCopyright("Copyright © 2016")] 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("37cbf99c-f39d-4ff9-9ade-9fedf5850cf1")] 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 | -------------------------------------------------------------------------------- /getAddress.Sequence.Mongodb.4.5.1/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /getAddress.Sequence.Mongodb.4.5.1/getAddress.Sequence.Mongodb.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {54D42BF4-B06D-4E04-B6CE-197E6CB0B2BA} 8 | Library 9 | Properties 10 | getAddress.Sequence.Mongodb 11 | getAddress.Sequence.Mongodb 12 | v4.5.1 13 | 512 14 | ..\ 15 | true 16 | 17 | 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | 26 | 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | ..\packages\mongocsharpdriver.1.10.1\lib\net35\MongoDB.Bson.dll 37 | 38 | 39 | ..\packages\mongocsharpdriver.1.10.1\lib\net35\MongoDB.Driver.dll 40 | 41 | 42 | ..\packages\MongoRepository.1.6.10\lib\net45\MongoRepository.Net45.dll 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | MongoStateProvider.cs 55 | 56 | 57 | MongoStateProviderFactory.cs 58 | 59 | 60 | SequenceEntity.cs 61 | 62 | 63 | 64 | 65 | 66 | Documentation\MongoRepository.chm 67 | 68 | 69 | 70 | 71 | 72 | 73 | {3706ab79-ce94-48b7-a6da-674b0863309e} 74 | getAddress.Sequence 75 | 76 | 77 | 78 | 79 | 80 | 81 | This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 82 | 83 | 84 | 85 | 92 | -------------------------------------------------------------------------------- /getAddress.Sequence.Mongodb.4.5.1/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /getAddress.Sequence.Mongodb/MongoStateProvider.cs: -------------------------------------------------------------------------------- 1 | using MongoRepository; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using MongoDB.Driver.Linq; 8 | using MongoDB.Driver.Builders; 9 | using MongoDB.Bson; 10 | using MongoDB.Driver; 11 | 12 | namespace getAddress.Sequence.Mongodb 13 | { 14 | public class MongoStateProvider : MongoRepository, IStateProvider 15 | { 16 | public MongoStateProvider(string connectionString) 17 | : base(connectionString) 18 | { 19 | 20 | } 21 | 22 | public async Task AddAsync(ISequence sequence) 23 | { 24 | //GenerateId temp = new GenerateId(1, 5, 5, 0); 25 | 26 | //long time = (DateTime.Now - new DateTime(2012, 1, 1, 0, 0, 0, DateTimeKind.Local)).Ticks / GenerateId.TICKPERSEC; 27 | 28 | //var rowKey = temp.GetId(time); 29 | 30 | var rowKey = ObjectId.GenerateNewId(); 31 | var sequenceEntity = sequence as Sequences; 32 | sequenceEntity.Id = rowKey.ToString(); 33 | 34 | base.Add(sequenceEntity); 35 | 36 | return new SequenceKey { Value = rowKey.ToString() }; 37 | } 38 | 39 | public async Task GetAsync(SequenceKey sequenceKey) 40 | { 41 | var sequenceEntity = base.GetById(sequenceKey.Value); 42 | return sequenceEntity; 43 | } 44 | 45 | public async Task UpdateAsync(SequenceKey sequenceKey, ISequence sequence) 46 | { 47 | var sequenceEntity = sequence as Sequences; 48 | sequenceEntity.Id = sequenceKey.Value; 49 | 50 | var query = Query.And(Query.EQ("_id", ObjectId.Parse(sequenceKey.Value))); 51 | var update = MongoDB.Driver.Builders.Update < Sequences>.Set( c => c.CurrentValue , sequenceEntity.CurrentValue); 52 | 53 | var updatedSequenceEntity = this.Collection.FindAndModify(new FindAndModifyArgs() { Query = query, Update = update, VersionReturned = FindAndModifyDocumentVersion.Original, SortBy = null }); 54 | var doc = updatedSequenceEntity.ModifiedDocument; 55 | return doc != null; 56 | 57 | } 58 | 59 | public async Task NewAsync(SequenceOptions options) 60 | { 61 | var sequence = new Sequences(options); 62 | 63 | return await Task.FromResult(sequence); 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /getAddress.Sequence.Mongodb/MongoStateProviderFactory.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 getAddress.Sequence.Mongodb 8 | { 9 | public class MongoStateProviderFactory 10 | { 11 | public static IStateProvider Get(string nameOrConnectionStr) 12 | { 13 | return new MongoStateProvider(nameOrConnectionStr); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /getAddress.Sequence.Mongodb/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过以下 6 | // 特性集控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("getAddress.Sequence.Mongodb")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Lenovo")] 12 | [assembly: AssemblyProduct("getAddress.Sequence.Mongodb")] 13 | [assembly: AssemblyCopyright("Copyright © Lenovo 2016")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("4f07ae70-c27f-451d-9951-5fd4fa208a48")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 生成号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /getAddress.Sequence.Mongodb/SequenceEntity.cs: -------------------------------------------------------------------------------- 1 | using MongoRepository; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | 7 | namespace getAddress.Sequence.Mongodb 8 | { 9 | public class Sequences : Entity, ISequence 10 | { 11 | public Sequences() 12 | { 13 | 14 | } 15 | public Sequences(SequenceOptions options) 16 | : this() 17 | { 18 | StartAt = options.StartAt; 19 | CurrentValue = StartAt; 20 | Increment = options.Increment; 21 | MaxValue = options.MaxValue; 22 | MinValue = options.MinValue; 23 | Cycle = options.Cycle; 24 | } 25 | 26 | 27 | public long StartAt { get; set; } 28 | public int Increment { get; set; } 29 | public long MaxValue { get; set; } 30 | public long MinValue { get; set; } 31 | public bool Cycle { get; set; } 32 | public long CurrentValue { get; set; } 33 | 34 | } 35 | } 36 | 37 | -------------------------------------------------------------------------------- /getAddress.Sequence.Mongodb/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /getAddress.Sequence.Mongodb/getAddress.Sequence.Mongodb.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {476C6056-2468-4546-8DC7-FD3D7F02DEC7} 8 | Library 9 | Properties 10 | getAddress.Sequence.Mongodb 11 | getAddress.Sequence.Mongodb 12 | v4.5 13 | 512 14 | 15 | ..\ 16 | true 17 | 18 | 19 | true 20 | full 21 | false 22 | bin\Debug\ 23 | DEBUG;TRACE 24 | prompt 25 | 4 26 | false 27 | 28 | 29 | pdbonly 30 | true 31 | bin\Release\ 32 | TRACE 33 | prompt 34 | 4 35 | false 36 | 37 | 38 | 39 | ..\packages\mongocsharpdriver.1.10.1\lib\net35\MongoDB.Bson.dll 40 | 41 | 42 | ..\packages\mongocsharpdriver.1.10.1\lib\net35\MongoDB.Driver.dll 43 | 44 | 45 | ..\packages\MongoRepository.1.6.10\lib\net45\MongoRepository.Net45.dll 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | {794cdafc-f291-4105-a3da-80a66ab44ec0} 64 | getAddress.Sequence 65 | 66 | 67 | 68 | 69 | Documentation\MongoRepository.chm 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 这台计算机上缺少此项目引用的 NuGet 程序包。启用“NuGet 程序包还原”可下载这些程序包。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。 79 | 80 | 81 | 82 | 89 | -------------------------------------------------------------------------------- /getAddress.Sequence.Mongodb/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /getAddress.Sequence.SqlServer.1.0.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/getAddress.Sequence.SqlServer.1.0.1.nupkg -------------------------------------------------------------------------------- /getAddress.Sequence.SqlServer.4.5.1/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /getAddress.Sequence.SqlServer.4.5.1/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("getAddress.Sequence.SqlServer.4.5.1")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("getAddress.Sequence.SqlServer.4.5.1")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2014")] 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("a39cf7ba-166d-4a36-b724-08b97f2fe4a6")] 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 | -------------------------------------------------------------------------------- /getAddress.Sequence.SqlServer.4.5.1/getAddress.Sequence.SqlServer.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {B7CD4CFD-C559-4F29-BFE6-6BEAE901CAC3} 8 | Library 9 | Properties 10 | getAddress.Sequence.SqlServer 11 | getAddress.Sequence.SqlServer 12 | v4.5.1 13 | 512 14 | 15 | ..\ 16 | true 17 | 18 | 19 | true 20 | full 21 | false 22 | bin\Debug\ 23 | DEBUG;TRACE 24 | prompt 25 | 4 26 | false 27 | 28 | 29 | pdbonly 30 | true 31 | bin\Release\ 32 | TRACE 33 | prompt 34 | 4 35 | false 36 | 37 | 38 | 39 | ..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.dll 40 | 41 | 42 | ..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.SqlServer.dll 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | SequenceConfiguration.cs 56 | 57 | 58 | SequenceDbContext.cs 59 | 60 | 61 | SqlServerSequence.cs 62 | 63 | 64 | SqlServerStateProvider.cs 65 | 66 | 67 | SqlServerStateProviderFactory.cs 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | {3706ab79-ce94-48b7-a6da-674b0863309e} 78 | getAddress.Sequence 79 | 80 | 81 | 82 | 83 | 84 | 85 | This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 86 | 87 | 88 | 89 | 96 | -------------------------------------------------------------------------------- /getAddress.Sequence.SqlServer.4.5.1/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /getAddress.Sequence.SqlServer/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /getAddress.Sequence.SqlServer/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("getAddress.Sequence.SqlServer")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("getAddress")] 12 | [assembly: AssemblyProduct("getAddress.Sequence.SqlServer")] 13 | [assembly: AssemblyCopyright("Copyright © getAddress.io 2014")] 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("ccfe433c-2abc-435d-a1d7-138bf0196fd3")] 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 | -------------------------------------------------------------------------------- /getAddress.Sequence.SqlServer/SequenceConfiguration.cs: -------------------------------------------------------------------------------- 1 |  2 | using System.Data.Entity.ModelConfiguration; 3 | 4 | 5 | namespace getAddress.Sequence.SqlServer 6 | { 7 | internal class SequenceConfiguration : EntityTypeConfiguration 8 | { 9 | public SequenceConfiguration() 10 | { 11 | 12 | Property(c => c.RowVersion).IsRowVersion(); 13 | HasKey(s => s.Key); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /getAddress.Sequence.SqlServer/SequenceDbContext.cs: -------------------------------------------------------------------------------- 1 |  2 | using System.Data.Entity; 3 | 4 | 5 | namespace getAddress.Sequence.SqlServer 6 | { 7 | 8 | internal class SequenceDbContext : DbContext 9 | { 10 | public SequenceDbContext(string nameOrConnectionStr) 11 | : base(nameOrConnectionStr) 12 | { 13 | 14 | } 15 | 16 | 17 | public DbSet Sequences { get; set; } 18 | 19 | protected override void OnModelCreating(DbModelBuilder modelBuilder) 20 | { 21 | 22 | modelBuilder.Configurations.Add(new SequenceConfiguration()); 23 | 24 | base.OnModelCreating(modelBuilder); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /getAddress.Sequence.SqlServer/SqlServerSequence.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | 4 | namespace getAddress.Sequence.SqlServer 5 | { 6 | internal class SqlServerSequence : ISequence 7 | { 8 | 9 | public SqlServerSequence() 10 | { 11 | 12 | } 13 | public SqlServerSequence(SequenceOptions options):this() 14 | { 15 | StartAt = options.StartAt; 16 | CurrentValue = StartAt; 17 | Increment = options.Increment; 18 | MaxValue = options.MaxValue; 19 | MinValue = options.MinValue; 20 | Cycle = options.Cycle; 21 | 22 | } 23 | 24 | public String Key { get; set; } 25 | public long StartAt { get; set; } 26 | public int Increment { get; set; } 27 | public long MaxValue { get; set; } 28 | public long MinValue { get; set; } 29 | public bool Cycle { get; set; } 30 | public long CurrentValue { get; set; } 31 | 32 | 33 | public byte[] RowVersion { get; set; } 34 | public DateTime DateCreated { get; set; } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /getAddress.Sequence.SqlServer/SqlServerStateProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using System.Data.Entity; 4 | using System.Linq; 5 | 6 | using System.Threading.Tasks; 7 | 8 | namespace getAddress.Sequence.SqlServer 9 | { 10 | public class SqlServerStateProvider:IStateProvider 11 | { 12 | 13 | private readonly SequenceDbContext DbContext; 14 | private readonly IDbSet DbSet; 15 | 16 | public SqlServerStateProvider(string nameOrConnectionStr) 17 | { 18 | DbContext = new SequenceDbContext(nameOrConnectionStr); 19 | 20 | DbSet = DbContext.Set(); 21 | 22 | } 23 | 24 | public async Task AddAsync(ISequence sequence) 25 | { 26 | var sqlServerSequence = (SqlServerSequence)sequence; 27 | 28 | sqlServerSequence.Key = Guid.NewGuid().ToString(); 29 | sqlServerSequence.DateCreated = DateTime.UtcNow; 30 | 31 | 32 | DbSet.Add(sqlServerSequence); 33 | 34 | await SaveChangesAsync(); 35 | 36 | return new SequenceKey { Value = sqlServerSequence.Key.ToString() }; 37 | } 38 | 39 | public async Task GetAsync(SequenceKey sequenceKey) 40 | { 41 | var sequence = await DbSet.FirstOrDefaultAsync(s => s.Key == sequenceKey.Value); 42 | 43 | 44 | return sequence; 45 | } 46 | 47 | 48 | private async Task SaveChangesAsync(bool handleConcurrencyExceptions = true) 49 | { 50 | try 51 | { 52 | return await Task.FromResult(DbContext.SaveChanges()); 53 | } 54 | catch (System.Data.Entity.Core.OptimisticConcurrencyException) 55 | { 56 | if (handleConcurrencyExceptions) 57 | { 58 | return 0; 59 | } 60 | throw; 61 | } 62 | catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException) 63 | { 64 | if (handleConcurrencyExceptions) 65 | { 66 | return 0; 67 | } 68 | throw; 69 | } 70 | 71 | } 72 | 73 | public async Task UpdateAsync(SequenceKey sequenceKey, ISequence sequence) 74 | { 75 | var updateResult = await SaveChangesAsync(); 76 | 77 | if (updateResult != 1) 78 | { 79 | Reload(sequence); 80 | 81 | return false; 82 | } 83 | return true; 84 | } 85 | 86 | private void Reload(ISequence sequence) 87 | { 88 | DbContext.Entry(sequence).Reload(); 89 | } 90 | 91 | public async Task NewAsync(SequenceOptions options) 92 | { 93 | return await Task.FromResult(new SqlServerSequence(options)); 94 | } 95 | } 96 | } 97 | -------------------------------------------------------------------------------- /getAddress.Sequence.SqlServer/SqlServerStateProviderFactory.cs: -------------------------------------------------------------------------------- 1 |  2 | 3 | namespace getAddress.Sequence.SqlServer 4 | { 5 | public class SqlServerStateProviderFactory 6 | { 7 | 8 | public static IStateProvider Get(string nameOrConnectionStr) 9 | { 10 | return new SqlServerStateProvider(nameOrConnectionStr); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /getAddress.Sequence.SqlServer/getAddress.Sequence.SqlServer.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {AEAD26CA-538E-4A1D-8EA7-25620F3B865B} 8 | Library 9 | Properties 10 | getAddress.Sequence.SqlServer 11 | getAddress.Sequence.SqlServer 12 | v4.5 13 | 512 14 | 15 | ..\ 16 | true 17 | 18 | 19 | true 20 | full 21 | false 22 | bin\Debug\ 23 | DEBUG;TRACE 24 | prompt 25 | 4 26 | false 27 | 28 | 29 | pdbonly 30 | true 31 | bin\Release\ 32 | TRACE 33 | prompt 34 | 4 35 | false 36 | 37 | 38 | 39 | ..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.dll 40 | 41 | 42 | ..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.SqlServer.dll 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | {794cdafc-f291-4105-a3da-80a66ab44ec0} 64 | getAddress.Sequence 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 76 | 77 | 78 | 79 | 86 | -------------------------------------------------------------------------------- /getAddress.Sequence.SqlServer/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /getAddress.Sequence.Tests/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /getAddress.Sequence.Tests/InMemoryStateProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | using System.Threading.Tasks; 5 | 6 | 7 | namespace getAddress.Sequence.Tests 8 | { 9 | internal class InMemoryStateProvider : IStateProvider 10 | { 11 | private readonly Dictionary dictionary; 12 | 13 | public bool UpdateValue 14 | { 15 | get; 16 | set; 17 | } 18 | 19 | public InMemoryStateProvider() 20 | { 21 | dictionary = new Dictionary(); 22 | UpdateValue = true; 23 | } 24 | 25 | public Task AddAsync(ISequence sequence) 26 | { 27 | try 28 | { 29 | var key = new SequenceKey { Value = Guid.NewGuid().ToString() }; 30 | 31 | dictionary.Add(key.Value, sequence); 32 | 33 | return Task.FromResult(key); 34 | } 35 | catch (Exception) 36 | { 37 | return Task.FromResult(default(SequenceKey)); 38 | } 39 | } 40 | 41 | public Task GetAsync(SequenceKey sequenceKey) 42 | { 43 | try 44 | { 45 | return Task.FromResult(dictionary[sequenceKey.Value]); 46 | } 47 | catch (Exception) 48 | { 49 | return Task.FromResult(default(ISequence)); 50 | } 51 | } 52 | 53 | public async Task NewAsync(SequenceOptions options) 54 | { 55 | return await Task.FromResult(new Sequence(options)); 56 | } 57 | 58 | public Task UpdateAsync(SequenceKey sequenceKey, ISequence sequence) 59 | { 60 | try 61 | { 62 | dictionary[sequenceKey.Value] = sequence; 63 | 64 | return Task.FromResult(UpdateValue); 65 | } 66 | catch (Exception) 67 | { 68 | return Task.FromResult(UpdateValue); 69 | } 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /getAddress.Sequence.Tests/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("getAddress.Sequence.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("getAddress.Sequence.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © getAddress.io 2014")] 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("07fc3503-0850-49f9-b464-4ee10022ee8f")] 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 | -------------------------------------------------------------------------------- /getAddress.Sequence.Tests/Sequence.cs: -------------------------------------------------------------------------------- 1 |  2 | 3 | namespace getAddress.Sequence.Tests 4 | { 5 | internal class Sequence : ISequence 6 | { 7 | 8 | public Sequence() 9 | { 10 | 11 | } 12 | 13 | public Sequence(SequenceOptions options):this() 14 | { 15 | StartAt = options.StartAt; 16 | CurrentValue = StartAt; 17 | Increment = options.Increment; 18 | MaxValue = options.MaxValue; 19 | MinValue = options.MinValue; 20 | Cycle = options.Cycle; 21 | } 22 | 23 | 24 | 25 | 26 | public long StartAt { get; set; } 27 | 28 | 29 | 30 | public int Increment { get; set; } 31 | public long MaxValue { get; set; } 32 | public long MinValue { get; set; } 33 | public bool Cycle { get; set; } 34 | public long CurrentValue { get; set; } 35 | } 36 | 37 | 38 | 39 | } 40 | -------------------------------------------------------------------------------- /getAddress.Sequence.Tests/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /getAddress.Sequence.dotNetCore.Tests/InMemoryStateProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | using System.Threading.Tasks; 5 | 6 | 7 | namespace getAddress.Sequence.Tests 8 | { 9 | internal class InMemoryStateProvider : IStateProvider 10 | { 11 | private readonly Dictionary dictionary; 12 | 13 | public bool UpdateValue 14 | { 15 | get; 16 | set; 17 | } 18 | 19 | public InMemoryStateProvider() 20 | { 21 | dictionary = new Dictionary(); 22 | UpdateValue = true; 23 | } 24 | 25 | public Task AddAsync(ISequence sequence) 26 | { 27 | try 28 | { 29 | var key = new SequenceKey { Value = Guid.NewGuid().ToString() }; 30 | 31 | dictionary.Add(key.Value, sequence); 32 | 33 | return Task.FromResult(key); 34 | } 35 | catch (Exception) 36 | { 37 | return Task.FromResult(default(SequenceKey)); 38 | } 39 | } 40 | 41 | public Task GetAsync(SequenceKey sequenceKey) 42 | { 43 | try 44 | { 45 | return Task.FromResult(dictionary[sequenceKey.Value]); 46 | } 47 | catch (Exception) 48 | { 49 | return Task.FromResult(default(ISequence)); 50 | } 51 | } 52 | 53 | public async Task NewAsync(SequenceOptions options) 54 | { 55 | return await Task.FromResult(new Sequence(options)); 56 | } 57 | 58 | public Task UpdateAsync(SequenceKey sequenceKey, ISequence sequence) 59 | { 60 | try 61 | { 62 | dictionary[sequenceKey.Value] = sequence; 63 | 64 | return Task.FromResult(UpdateValue); 65 | } 66 | catch (Exception) 67 | { 68 | return Task.FromResult(UpdateValue); 69 | } 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /getAddress.Sequence.dotNetCore.Tests/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: AssemblyConfiguration("")] 9 | [assembly: AssemblyCompany("Microsoft")] 10 | [assembly: AssemblyProduct("getAddress.Sequence.dotNetCore.Tests")] 11 | [assembly: AssemblyTrademark("")] 12 | 13 | // Setting ComVisible to false makes the types in this assembly not visible 14 | // to COM components. If you need to access a type in this assembly from 15 | // COM, set the ComVisible attribute to true on that type. 16 | [assembly: ComVisible(false)] 17 | 18 | // The following GUID is for the ID of the typelib if this project is exposed to COM 19 | [assembly: Guid("c82ea650-346e-49b3-86b8-c1e62960040e")] 20 | -------------------------------------------------------------------------------- /getAddress.Sequence.dotNetCore.Tests/Sequence.cs: -------------------------------------------------------------------------------- 1 |  2 | 3 | namespace getAddress.Sequence.Tests 4 | { 5 | internal class Sequence : ISequence 6 | { 7 | 8 | public Sequence() 9 | { 10 | 11 | } 12 | 13 | public Sequence(SequenceOptions options):this() 14 | { 15 | StartAt = options.StartAt; 16 | CurrentValue = StartAt; 17 | Increment = options.Increment; 18 | MaxValue = options.MaxValue; 19 | MinValue = options.MinValue; 20 | Cycle = options.Cycle; 21 | } 22 | 23 | 24 | 25 | 26 | public long StartAt { get; set; } 27 | 28 | 29 | 30 | public int Increment { get; set; } 31 | public long MaxValue { get; set; } 32 | public long MinValue { get; set; } 33 | public bool Cycle { get; set; } 34 | public long CurrentValue { get; set; } 35 | } 36 | 37 | 38 | 39 | } 40 | -------------------------------------------------------------------------------- /getAddress.Sequence.dotNetCore.Tests/getAddress.Sequence.dotNetCore.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | net451 5 | getAddress.Sequence.dotNetCore.Tests 6 | getAddress.Sequence.dotNetCore.Tests 7 | 1.6.1 8 | false 9 | false 10 | false 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /getAddress.Sequence.dotNetCore/Exceptions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | 4 | namespace getAddress.Sequence 5 | { 6 | 7 | public class MaximumValueReachedException : Exception 8 | { 9 | public long MaximumValue { get; set; } 10 | 11 | public MaximumValueReachedException(long maximumValue) 12 | { 13 | MaximumValue = maximumValue; 14 | } 15 | } 16 | 17 | 18 | public class SequenceCouldNotBeFoundException : Exception 19 | { 20 | 21 | } 22 | 23 | public class MinimumValueReachedException : Exception 24 | { 25 | public long MinimumValue { get; set; } 26 | 27 | public MinimumValueReachedException(long minimumValue) 28 | { 29 | MinimumValue = minimumValue; 30 | } 31 | } 32 | 33 | public class MaxRetryAttemptReachedException : Exception 34 | { 35 | public int Attempts { get; set; } 36 | 37 | public MaxRetryAttemptReachedException(int attempts) 38 | { 39 | Attempts = attempts; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /getAddress.Sequence.dotNetCore/ISequence.cs: -------------------------------------------------------------------------------- 1 | namespace getAddress.Sequence 2 | { 3 | public interface ISequence 4 | { 5 | long StartAt { get; } 6 | int Increment { get; } 7 | long MaxValue { get; } 8 | long MinValue { get; } 9 | bool Cycle { get; } 10 | long CurrentValue { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /getAddress.Sequence.dotNetCore/IStateProvider.cs: -------------------------------------------------------------------------------- 1 |  2 | using System.Threading.Tasks; 3 | 4 | 5 | namespace getAddress.Sequence 6 | { 7 | public interface IStateProvider 8 | { 9 | 10 | Task AddAsync(ISequence sequence); 11 | 12 | Task GetAsync(SequenceKey sequenceKey); 13 | 14 | Task UpdateAsync(SequenceKey sequenceKey, ISequence sequence); 15 | 16 | Task NewAsync(SequenceOptions options); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /getAddress.Sequence.dotNetCore/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: AssemblyConfiguration("")] 9 | [assembly: AssemblyCompany("")] 10 | [assembly: AssemblyProduct("getAddress.Sequence")] 11 | [assembly: AssemblyTrademark("")] 12 | 13 | // Setting ComVisible to false makes the types in this assembly not visible 14 | // to COM components. If you need to access a type in this assembly from 15 | // COM, set the ComVisible attribute to true on that type. 16 | [assembly: ComVisible(false)] 17 | 18 | // The following GUID is for the ID of the typelib if this project is exposed to COM 19 | [assembly: Guid("0be7e14b-3bb5-46ec-a7b1-20641fa25424")] 20 | -------------------------------------------------------------------------------- /getAddress.Sequence.dotNetCore/SequenceGenerator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | 4 | 5 | namespace getAddress.Sequence 6 | { 7 | public class SequenceGenerator 8 | { 9 | public IStateProvider StateProvider { get; private set; } 10 | public int MaxNumberOfAttempts = 100; 11 | 12 | 13 | public SequenceGenerator(IStateProvider stateProvider) 14 | { 15 | if (stateProvider == null) throw new ArgumentNullException("stateProvider"); 16 | 17 | StateProvider = stateProvider; 18 | } 19 | 20 | /// Sequence could not be found 21 | /// The maximum sequence value has been reached and cycle is false 22 | /// The minimum sequence value has been reached and cycle is false 23 | /// The maximum number of retries has been reached 24 | public async Task NextAsync(SequenceKey sequenceKey) 25 | { 26 | if (sequenceKey == null) throw new ArgumentNullException("sequenceKey"); 27 | if (sequenceKey.Value == null) throw new ArgumentNullException("sequenceKey"); 28 | 29 | return await ExecAsync(sequenceKey, 0); 30 | 31 | } 32 | 33 | private async Task ExecAsync(SequenceKey sequenceKey, int retryAttempt) 34 | { 35 | var result = await TryGetSequenceValue(sequenceKey); 36 | 37 | if (!result.Result) 38 | { 39 | if (retryAttempt < MaxNumberOfAttempts) 40 | { 41 | retryAttempt++; 42 | 43 | result.Value = await ExecAsync(sequenceKey, retryAttempt); 44 | } 45 | else 46 | { 47 | throw new MaxRetryAttemptReachedException(MaxNumberOfAttempts); 48 | } 49 | } 50 | 51 | return result.Value; 52 | } 53 | 54 | 55 | private async Task TryGetSequenceValue(SequenceKey sequenceKey) 56 | { 57 | var sequence = await StateProvider.GetAsync(sequenceKey); 58 | 59 | if (sequence == null) 60 | { 61 | throw new SequenceCouldNotBeFoundException(); 62 | } 63 | 64 | 65 | var result = new TryGetSequenceValueResult 66 | { 67 | Value = sequence.StartAt 68 | }; 69 | 70 | if (sequence.Increment == 0) 71 | { 72 | result.Result = true; 73 | return result; 74 | } 75 | 76 | 77 | 78 | 79 | var sequenceValue = sequence.CurrentValue + sequence.Increment; 80 | 81 | sequenceValue = CycleOrFailIfGreaterThanMaximum(sequence, sequenceValue); 82 | 83 | sequenceValue = CycleOrFailIfLessThanMinimum(sequence, sequenceValue); 84 | 85 | sequence.CurrentValue = sequenceValue; 86 | 87 | var updateResult = await StateProvider.UpdateAsync(sequenceKey, sequence); 88 | 89 | if (!updateResult) 90 | { 91 | return result; 92 | } 93 | 94 | result.Value = sequence.CurrentValue; 95 | 96 | result.Result = true; 97 | 98 | return result; 99 | 100 | } 101 | 102 | 103 | 104 | private class TryGetSequenceValueResult 105 | { 106 | public bool Result { get; set; } 107 | public long Value { get; set; } 108 | } 109 | 110 | private static long CycleOrFailIfGreaterThanMaximum(ISequence sequence, long newValue) 111 | { 112 | if (newValue <= sequence.MaxValue) return newValue; 113 | 114 | if (sequence.Cycle) 115 | { 116 | return sequence.StartAt + sequence.Increment; 117 | } 118 | 119 | throw new MaximumValueReachedException(sequence.MaxValue); 120 | } 121 | 122 | private static long CycleOrFailIfLessThanMinimum(ISequence sequence, long newValue) 123 | { 124 | if (newValue >= sequence.MinValue) return newValue; 125 | 126 | if (sequence.Cycle) 127 | { 128 | return sequence.StartAt + sequence.Increment; 129 | } 130 | 131 | throw new MinimumValueReachedException(sequence.MinValue); 132 | } 133 | 134 | 135 | 136 | } 137 | 138 | 139 | } 140 | -------------------------------------------------------------------------------- /getAddress.Sequence.dotNetCore/SequenceKey.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace getAddress.Sequence 3 | { 4 | public class SequenceKey 5 | { 6 | 7 | public string Value { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /getAddress.Sequence.dotNetCore/SequenceOptions.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace getAddress.Sequence 3 | { 4 | public class SequenceOptions 5 | { 6 | 7 | public SequenceOptions() 8 | { 9 | 10 | StartAt = 0; 11 | Increment = 1; 12 | MaxValue = long.MaxValue; 13 | MinValue = 0; 14 | Cycle = false; 15 | 16 | } 17 | 18 | public long StartAt { get; set; } 19 | public int Increment { get; set; } 20 | public long MaxValue { get; set; } 21 | public long MinValue { get; set; } 22 | public bool Cycle { get; set; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /getAddress.Sequence.dotNetCore/getAddress.Sequence.dotNetCore.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 1.0.0.1 5 | net451;netstandard1.6 6 | getAddress.Sequence.dotNetCore 7 | getAddress.Sequence.dotNetCore 8 | $(PackageTargetFallback);dnxcore50 9 | 1.6.1 10 | false 11 | false 12 | false 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /getAddress.Sequence.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.30723.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "getAddress.Sequence.Tests", "getAddress.Sequence.Tests\getAddress.Sequence.Tests.csproj", "{62FD8921-4C59-43ED-8C7C-218EF54C84F9}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "getAddress.Sequence.Azure", "getAddress.Sequence.Azure\getAddress.Sequence.Azure.csproj", "{4C97E1EA-0ABD-45EE-A5D7-3BB76D51DFD5}" 9 | EndProject 10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "getAddress.Sequence", "getAddress.Sequence\getAddress.Sequence.csproj", "{794CDAFC-F291-4105-A3DA-80A66AB44EC0}" 11 | EndProject 12 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "getAddress.Sequence.SqlServer", "getAddress.Sequence.SqlServer\getAddress.Sequence.SqlServer.csproj", "{AEAD26CA-538E-4A1D-8EA7-25620F3B865B}" 13 | EndProject 14 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".net 4.5.1", ".net 4.5.1", "{2334AD1D-FE68-48A7-9B3C-7BB897A73BCC}" 15 | EndProject 16 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".net 4.5", ".net 4.5", "{A3F75828-2138-415E-93EC-A6841C416FFB}" 17 | EndProject 18 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "getAddress.Sequence", "getAddress.Sequence.4.5.1\getAddress.Sequence.csproj", "{3706AB79-CE94-48B7-A6DA-674B0863309E}" 19 | EndProject 20 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "getAddress.Sequence.Azure", "getAddress.Sequence.Azure.4.5.1\getAddress.Sequence.Azure.csproj", "{63403996-4AFD-403C-9A90-613E0A704F9A}" 21 | EndProject 22 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "getAddress.Sequence.SqlServer", "getAddress.Sequence.SqlServer.4.5.1\getAddress.Sequence.SqlServer.csproj", "{B7CD4CFD-C559-4F29-BFE6-6BEAE901CAC3}" 23 | EndProject 24 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{A6256C75-35C6-47F4-99C5-EC21AF1B6B7C}" 25 | ProjectSection(SolutionItems) = preProject 26 | .nuget\NuGet.Config = .nuget\NuGet.Config 27 | .nuget\NuGet.exe = .nuget\NuGet.exe 28 | .nuget\NuGet.targets = .nuget\NuGet.targets 29 | EndProjectSection 30 | EndProject 31 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "getAddress.Sequence.Mongodb", "getAddress.Sequence.Mongodb\getAddress.Sequence.Mongodb.csproj", "{476C6056-2468-4546-8DC7-FD3D7F02DEC7}" 32 | EndProject 33 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "getAddress.Sequence.Mongodb", "getAddress.Sequence.Mongodb.4.5.1\getAddress.Sequence.Mongodb.csproj", "{54D42BF4-B06D-4E04-B6CE-197E6CB0B2BA}" 34 | EndProject 35 | Global 36 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 37 | Debug|Any CPU = Debug|Any CPU 38 | Release|Any CPU = Release|Any CPU 39 | EndGlobalSection 40 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 41 | {62FD8921-4C59-43ED-8C7C-218EF54C84F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 42 | {62FD8921-4C59-43ED-8C7C-218EF54C84F9}.Debug|Any CPU.Build.0 = Debug|Any CPU 43 | {62FD8921-4C59-43ED-8C7C-218EF54C84F9}.Release|Any CPU.ActiveCfg = Release|Any CPU 44 | {62FD8921-4C59-43ED-8C7C-218EF54C84F9}.Release|Any CPU.Build.0 = Release|Any CPU 45 | {4C97E1EA-0ABD-45EE-A5D7-3BB76D51DFD5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 46 | {4C97E1EA-0ABD-45EE-A5D7-3BB76D51DFD5}.Debug|Any CPU.Build.0 = Debug|Any CPU 47 | {4C97E1EA-0ABD-45EE-A5D7-3BB76D51DFD5}.Release|Any CPU.ActiveCfg = Release|Any CPU 48 | {4C97E1EA-0ABD-45EE-A5D7-3BB76D51DFD5}.Release|Any CPU.Build.0 = Release|Any CPU 49 | {794CDAFC-F291-4105-A3DA-80A66AB44EC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 50 | {794CDAFC-F291-4105-A3DA-80A66AB44EC0}.Debug|Any CPU.Build.0 = Debug|Any CPU 51 | {794CDAFC-F291-4105-A3DA-80A66AB44EC0}.Release|Any CPU.ActiveCfg = Release|Any CPU 52 | {794CDAFC-F291-4105-A3DA-80A66AB44EC0}.Release|Any CPU.Build.0 = Release|Any CPU 53 | {AEAD26CA-538E-4A1D-8EA7-25620F3B865B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 54 | {AEAD26CA-538E-4A1D-8EA7-25620F3B865B}.Debug|Any CPU.Build.0 = Debug|Any CPU 55 | {AEAD26CA-538E-4A1D-8EA7-25620F3B865B}.Release|Any CPU.ActiveCfg = Release|Any CPU 56 | {AEAD26CA-538E-4A1D-8EA7-25620F3B865B}.Release|Any CPU.Build.0 = Release|Any CPU 57 | {3706AB79-CE94-48B7-A6DA-674B0863309E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 58 | {3706AB79-CE94-48B7-A6DA-674B0863309E}.Debug|Any CPU.Build.0 = Debug|Any CPU 59 | {3706AB79-CE94-48B7-A6DA-674B0863309E}.Release|Any CPU.ActiveCfg = Release|Any CPU 60 | {3706AB79-CE94-48B7-A6DA-674B0863309E}.Release|Any CPU.Build.0 = Release|Any CPU 61 | {63403996-4AFD-403C-9A90-613E0A704F9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 62 | {63403996-4AFD-403C-9A90-613E0A704F9A}.Debug|Any CPU.Build.0 = Debug|Any CPU 63 | {63403996-4AFD-403C-9A90-613E0A704F9A}.Release|Any CPU.ActiveCfg = Release|Any CPU 64 | {63403996-4AFD-403C-9A90-613E0A704F9A}.Release|Any CPU.Build.0 = Release|Any CPU 65 | {B7CD4CFD-C559-4F29-BFE6-6BEAE901CAC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 66 | {B7CD4CFD-C559-4F29-BFE6-6BEAE901CAC3}.Debug|Any CPU.Build.0 = Debug|Any CPU 67 | {B7CD4CFD-C559-4F29-BFE6-6BEAE901CAC3}.Release|Any CPU.ActiveCfg = Release|Any CPU 68 | {B7CD4CFD-C559-4F29-BFE6-6BEAE901CAC3}.Release|Any CPU.Build.0 = Release|Any CPU 69 | {476C6056-2468-4546-8DC7-FD3D7F02DEC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 70 | {476C6056-2468-4546-8DC7-FD3D7F02DEC7}.Debug|Any CPU.Build.0 = Debug|Any CPU 71 | {476C6056-2468-4546-8DC7-FD3D7F02DEC7}.Release|Any CPU.ActiveCfg = Release|Any CPU 72 | {476C6056-2468-4546-8DC7-FD3D7F02DEC7}.Release|Any CPU.Build.0 = Release|Any CPU 73 | {54D42BF4-B06D-4E04-B6CE-197E6CB0B2BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 74 | {54D42BF4-B06D-4E04-B6CE-197E6CB0B2BA}.Debug|Any CPU.Build.0 = Debug|Any CPU 75 | {54D42BF4-B06D-4E04-B6CE-197E6CB0B2BA}.Release|Any CPU.ActiveCfg = Release|Any CPU 76 | {54D42BF4-B06D-4E04-B6CE-197E6CB0B2BA}.Release|Any CPU.Build.0 = Release|Any CPU 77 | EndGlobalSection 78 | GlobalSection(SolutionProperties) = preSolution 79 | HideSolutionNode = FALSE 80 | EndGlobalSection 81 | GlobalSection(NestedProjects) = preSolution 82 | {62FD8921-4C59-43ED-8C7C-218EF54C84F9} = {A3F75828-2138-415E-93EC-A6841C416FFB} 83 | {4C97E1EA-0ABD-45EE-A5D7-3BB76D51DFD5} = {A3F75828-2138-415E-93EC-A6841C416FFB} 84 | {794CDAFC-F291-4105-A3DA-80A66AB44EC0} = {A3F75828-2138-415E-93EC-A6841C416FFB} 85 | {AEAD26CA-538E-4A1D-8EA7-25620F3B865B} = {A3F75828-2138-415E-93EC-A6841C416FFB} 86 | {3706AB79-CE94-48B7-A6DA-674B0863309E} = {2334AD1D-FE68-48A7-9B3C-7BB897A73BCC} 87 | {63403996-4AFD-403C-9A90-613E0A704F9A} = {2334AD1D-FE68-48A7-9B3C-7BB897A73BCC} 88 | {B7CD4CFD-C559-4F29-BFE6-6BEAE901CAC3} = {2334AD1D-FE68-48A7-9B3C-7BB897A73BCC} 89 | {476C6056-2468-4546-8DC7-FD3D7F02DEC7} = {A3F75828-2138-415E-93EC-A6841C416FFB} 90 | {54D42BF4-B06D-4E04-B6CE-197E6CB0B2BA} = {2334AD1D-FE68-48A7-9B3C-7BB897A73BCC} 91 | EndGlobalSection 92 | EndGlobal 93 | -------------------------------------------------------------------------------- /getAddress.Sequence/Exceptions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | 4 | namespace getAddress.Sequence 5 | { 6 | 7 | public class MaximumValueReachedException : Exception 8 | { 9 | public long MaximumValue { get; set; } 10 | 11 | public MaximumValueReachedException(long maximumValue) 12 | { 13 | MaximumValue = maximumValue; 14 | } 15 | } 16 | 17 | 18 | public class SequenceCouldNotBeFoundException : Exception 19 | { 20 | 21 | } 22 | 23 | public class MinimumValueReachedException : Exception 24 | { 25 | public long MinimumValue { get; set; } 26 | 27 | public MinimumValueReachedException(long minimumValue) 28 | { 29 | MinimumValue = minimumValue; 30 | } 31 | } 32 | 33 | public class MaxRetryAttemptReachedException : Exception 34 | { 35 | public int Attempts { get; set; } 36 | 37 | public MaxRetryAttemptReachedException(int attempts) 38 | { 39 | Attempts = attempts; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /getAddress.Sequence/ISequence.cs: -------------------------------------------------------------------------------- 1 | namespace getAddress.Sequence 2 | { 3 | public interface ISequence 4 | { 5 | long StartAt { get; } 6 | int Increment { get; } 7 | long MaxValue { get; } 8 | long MinValue { get; } 9 | bool Cycle { get; } 10 | long CurrentValue { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /getAddress.Sequence/IStateProvider.cs: -------------------------------------------------------------------------------- 1 |  2 | using System.Threading.Tasks; 3 | 4 | 5 | namespace getAddress.Sequence 6 | { 7 | public interface IStateProvider 8 | { 9 | 10 | Task AddAsync(ISequence sequence); 11 | 12 | Task GetAsync(SequenceKey sequenceKey); 13 | 14 | Task UpdateAsync(SequenceKey sequenceKey, ISequence sequence); 15 | 16 | Task NewAsync(SequenceOptions options); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /getAddress.Sequence/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("getAddress.Sequence")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("getAddress.Sequence")] 13 | [assembly: AssemblyCopyright("Copyright © getAddress.io 2014")] 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("0b5d3a31-27c8-4bcd-908d-9f93ffc2f4d2")] 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 | -------------------------------------------------------------------------------- /getAddress.Sequence/SequenceGenerator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | 4 | 5 | namespace getAddress.Sequence 6 | { 7 | public class SequenceGenerator 8 | { 9 | public IStateProvider StateProvider { get; private set; } 10 | public int MaxNumberOfAttempts = 100; 11 | 12 | 13 | public SequenceGenerator(IStateProvider stateProvider) 14 | { 15 | if (stateProvider == null) throw new ArgumentNullException("stateProvider"); 16 | 17 | StateProvider = stateProvider; 18 | } 19 | 20 | /// Sequence could not be found 21 | /// The maximum sequence value has been reached and cycle is false 22 | /// The minimum sequence value has been reached and cycle is false 23 | /// The maximum number of retries has been reached 24 | public async Task NextAsync(SequenceKey sequenceKey) 25 | { 26 | if (sequenceKey == null) throw new ArgumentNullException("sequenceKey"); 27 | if (sequenceKey.Value == null) throw new ArgumentNullException("sequenceKey"); 28 | 29 | return await ExecAsync(sequenceKey, 0); 30 | 31 | } 32 | 33 | private async Task ExecAsync(SequenceKey sequenceKey, int retryAttempt) 34 | { 35 | var result = await TryGetSequenceValue(sequenceKey); 36 | 37 | if (!result.Result) 38 | { 39 | if (retryAttempt < MaxNumberOfAttempts) 40 | { 41 | retryAttempt++; 42 | 43 | result.Value = await ExecAsync(sequenceKey, retryAttempt); 44 | } 45 | else 46 | { 47 | throw new MaxRetryAttemptReachedException(MaxNumberOfAttempts); 48 | } 49 | } 50 | 51 | return result.Value; 52 | } 53 | 54 | 55 | private async Task TryGetSequenceValue(SequenceKey sequenceKey) 56 | { 57 | var sequence = await StateProvider.GetAsync(sequenceKey); 58 | 59 | if (sequence == null) 60 | { 61 | throw new SequenceCouldNotBeFoundException(); 62 | } 63 | 64 | 65 | var result = new TryGetSequenceValueResult 66 | { 67 | Value = sequence.StartAt 68 | }; 69 | 70 | if (sequence.Increment == 0) 71 | { 72 | result.Result = true; 73 | return result; 74 | } 75 | 76 | 77 | 78 | 79 | var sequenceValue = sequence.CurrentValue + sequence.Increment; 80 | 81 | sequenceValue = CycleOrFailIfGreaterThanMaximum(sequence, sequenceValue); 82 | 83 | sequenceValue = CycleOrFailIfLessThanMinimum(sequence, sequenceValue); 84 | 85 | sequence.CurrentValue = sequenceValue; 86 | 87 | var updateResult = await StateProvider.UpdateAsync(sequenceKey, sequence); 88 | 89 | if (!updateResult) 90 | { 91 | return result; 92 | } 93 | 94 | result.Value = sequence.CurrentValue; 95 | 96 | result.Result = true; 97 | 98 | return result; 99 | 100 | } 101 | 102 | 103 | 104 | private class TryGetSequenceValueResult 105 | { 106 | public bool Result { get; set; } 107 | public long Value { get; set; } 108 | } 109 | 110 | private static long CycleOrFailIfGreaterThanMaximum(ISequence sequence, long newValue) 111 | { 112 | if (newValue <= sequence.MaxValue) return newValue; 113 | 114 | if (sequence.Cycle) 115 | { 116 | return sequence.StartAt + sequence.Increment; 117 | } 118 | 119 | throw new MaximumValueReachedException(sequence.MaxValue); 120 | } 121 | 122 | private static long CycleOrFailIfLessThanMinimum(ISequence sequence, long newValue) 123 | { 124 | if (newValue >= sequence.MinValue) return newValue; 125 | 126 | if (sequence.Cycle) 127 | { 128 | return sequence.StartAt + sequence.Increment; 129 | } 130 | 131 | throw new MinimumValueReachedException(sequence.MinValue); 132 | } 133 | 134 | 135 | 136 | } 137 | 138 | 139 | } 140 | -------------------------------------------------------------------------------- /getAddress.Sequence/SequenceKey.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace getAddress.Sequence 3 | { 4 | public class SequenceKey 5 | { 6 | 7 | public string Value { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /getAddress.Sequence/SequenceOptions.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace getAddress.Sequence 3 | { 4 | public class SequenceOptions 5 | { 6 | 7 | public SequenceOptions() 8 | { 9 | 10 | StartAt = 0; 11 | Increment = 1; 12 | MaxValue = long.MaxValue; 13 | MinValue = 0; 14 | Cycle = false; 15 | 16 | } 17 | 18 | public long StartAt { get; set; } 19 | public int Increment { get; set; } 20 | public long MaxValue { get; set; } 21 | public long MinValue { get; set; } 22 | public bool Cycle { get; set; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /getAddress.Sequence/getAddress.Sequence.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {794CDAFC-F291-4105-A3DA-80A66AB44EC0} 8 | Library 9 | Properties 10 | getAddress.Sequence 11 | getAddress.Sequence 12 | v4.5 13 | 512 14 | 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | bin\Release\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 59 | -------------------------------------------------------------------------------- /packages/EntityFramework.6.1.1/lib/net40/EntityFramework.SqlServer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/EntityFramework.6.1.1/lib/net40/EntityFramework.SqlServer.dll -------------------------------------------------------------------------------- /packages/EntityFramework.6.1.1/lib/net40/EntityFramework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/EntityFramework.6.1.1/lib/net40/EntityFramework.dll -------------------------------------------------------------------------------- /packages/EntityFramework.6.1.1/lib/net45/EntityFramework.SqlServer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/EntityFramework.6.1.1/lib/net45/EntityFramework.SqlServer.dll -------------------------------------------------------------------------------- /packages/EntityFramework.6.1.1/lib/net45/EntityFramework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/EntityFramework.6.1.1/lib/net45/EntityFramework.dll -------------------------------------------------------------------------------- /packages/EntityFramework.6.1.1/tools/EntityFramework.PowerShell.Utility.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/EntityFramework.6.1.1/tools/EntityFramework.PowerShell.Utility.dll -------------------------------------------------------------------------------- /packages/EntityFramework.6.1.1/tools/EntityFramework.PowerShell.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/EntityFramework.6.1.1/tools/EntityFramework.PowerShell.dll -------------------------------------------------------------------------------- /packages/EntityFramework.6.1.1/tools/EntityFramework.psd1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/EntityFramework.6.1.1/tools/EntityFramework.psd1 -------------------------------------------------------------------------------- /packages/EntityFramework.6.1.1/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 | The following Entity Framework cmdlets are used with Entity Framework 12 | Migrations. 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 | The following Entity Framework cmdlets are used by NuGet packages that 27 | install Entity Framework providers. These commands are not usually used as 28 | part of normal application development. 29 | 30 | Cmdlet Description 31 | ------------------------------ --------------------------------------- 32 | Add-EFProvider Adds or updates an Entity Framework 33 | provider entry in the project config 34 | file. 35 | 36 | Add-EFDefaultConnectionFactory Adds or updates an Entity Framework 37 | default connection factory in the 38 | project config file. 39 | 40 | Initialize-EFConfiguration Initializes the Entity Framework 41 | section in the project config file and 42 | sets defaults. 43 | 44 | SEE ALSO 45 | Enable-Migrations 46 | Add-Migration 47 | Update-Database 48 | Get-Migrations 49 | -------------------------------------------------------------------------------- /packages/EntityFramework.6.1.1/tools/migrate.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/EntityFramework.6.1.1/tools/migrate.exe -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/Microsoft.Data.Edm.5.6.2.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/Microsoft.Data.Edm.5.6.2.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/net40/Microsoft.Data.Edm.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/net40/Microsoft.Data.Edm.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/net40/de/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/net40/de/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/net40/es/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/net40/es/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/net40/fr/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/net40/fr/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/net40/it/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/net40/it/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/net40/ja/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/net40/ja/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/net40/ko/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/net40/ko/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/net40/ru/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/net40/ru/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/net40/zh-Hans/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/net40/zh-Hans/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/net40/zh-Hant/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/net40/zh-Hant/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/Microsoft.Data.Edm.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/Microsoft.Data.Edm.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/de/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/de/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/es/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/es/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/fr/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/fr/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/it/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/it/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/ja/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/ja/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/ko/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/ko/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/ru/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/ru/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/zh-Hans/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/zh-Hans/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/zh-Hant/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/zh-Hant/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/sl4/Microsoft.Data.Edm.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/sl4/Microsoft.Data.Edm.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/sl4/de/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/sl4/de/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/sl4/es/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/sl4/es/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/sl4/fr/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/sl4/fr/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/sl4/it/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/sl4/it/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/sl4/ja/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/sl4/ja/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/sl4/ko/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/sl4/ko/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/sl4/ru/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/sl4/ru/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/sl4/zh-Hans/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/sl4/zh-Hans/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Edm.5.6.2/lib/sl4/zh-Hant/Microsoft.Data.Edm.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Edm.5.6.2/lib/sl4/zh-Hant/Microsoft.Data.Edm.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/Microsoft.Data.OData.5.6.2.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/Microsoft.Data.OData.5.6.2.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/net40/Microsoft.Data.OData.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/net40/Microsoft.Data.OData.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/net40/de/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/net40/de/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/net40/es/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/net40/es/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/net40/fr/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/net40/fr/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/net40/it/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/net40/it/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/net40/ja/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/net40/ja/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/net40/ko/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/net40/ko/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/net40/ru/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/net40/ru/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/net40/zh-Hans/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/net40/zh-Hans/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/net40/zh-Hant/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/net40/zh-Hant/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/Microsoft.Data.OData.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/Microsoft.Data.OData.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/de/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/de/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/es/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/es/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/fr/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/fr/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/it/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/it/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/ja/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/ja/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/ko/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/ko/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/ru/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/ru/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/zh-Hans/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/zh-Hans/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/zh-Hant/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/zh-Hant/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/sl4/Microsoft.Data.OData.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/sl4/Microsoft.Data.OData.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/sl4/de/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/sl4/de/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/sl4/es/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/sl4/es/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/sl4/fr/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/sl4/fr/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/sl4/it/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/sl4/it/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/sl4/ja/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/sl4/ja/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/sl4/ko/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/sl4/ko/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/sl4/ru/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/sl4/ru/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/sl4/zh-Hans/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/sl4/zh-Hans/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.OData.5.6.2/lib/sl4/zh-Hant/Microsoft.Data.OData.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.OData.5.6.2/lib/sl4/zh-Hant/Microsoft.Data.OData.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/Microsoft.Data.Services.Client.5.6.2.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/Microsoft.Data.Services.Client.5.6.2.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/Microsoft.Data.Services.Client.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/Microsoft.Data.Services.Client.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/de/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/de/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/es/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/es/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/fr/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/fr/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/it/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/it/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/ja/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/ja/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/ko/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/ko/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/ru/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/ru/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/zh-Hans/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/zh-Hans/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/zh-Hant/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/net40/zh-Hant/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/Microsoft.Data.Services.Client.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/Microsoft.Data.Services.Client.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/de/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/de/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/es/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/es/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/fr/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/fr/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/it/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/it/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/ja/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/ja/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/ko/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/ko/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/ru/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/ru/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/zh-Hans/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/zh-Hans/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/zh-Hant/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/portable-net45+wp8+win8+wpa/zh-Hant/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/Microsoft.Data.Services.Client.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/Microsoft.Data.Services.Client.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/de/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/de/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/es/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/es/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/fr/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/fr/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/it/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/it/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/ja/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/ja/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/ko/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/ko/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/ru/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/ru/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/zh-Hans/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/zh-Hans/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/zh-Hant/Microsoft.Data.Services.Client.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.Data.Services.Client.5.6.2/lib/sl4/zh-Hant/Microsoft.Data.Services.Client.resources.dll -------------------------------------------------------------------------------- /packages/Microsoft.WindowsAzure.ConfigurationManager.1.8.0.0/Microsoft.WindowsAzure.ConfigurationManager.1.8.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.WindowsAzure.ConfigurationManager.1.8.0.0/Microsoft.WindowsAzure.ConfigurationManager.1.8.0.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.WindowsAzure.ConfigurationManager.1.8.0.0/lib/net35-full/Microsoft.WindowsAzure.Configuration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Microsoft.WindowsAzure.ConfigurationManager.1.8.0.0/lib/net35-full/Microsoft.WindowsAzure.Configuration.dll -------------------------------------------------------------------------------- /packages/MongoRepository.1.6.10/MongoRepository.1.6.10.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/MongoRepository.1.6.10/MongoRepository.1.6.10.nupkg -------------------------------------------------------------------------------- /packages/MongoRepository.1.6.10/MongoRepository.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/MongoRepository.1.6.10/MongoRepository.chm -------------------------------------------------------------------------------- /packages/MongoRepository.1.6.10/lib/net35/MongoRepository.Net35.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/MongoRepository.1.6.10/lib/net35/MongoRepository.Net35.dll -------------------------------------------------------------------------------- /packages/MongoRepository.1.6.10/lib/net40/MongoRepository.Net40.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/MongoRepository.1.6.10/lib/net40/MongoRepository.Net40.dll -------------------------------------------------------------------------------- /packages/MongoRepository.1.6.10/lib/net45/MongoRepository.Net45.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/MongoRepository.1.6.10/lib/net45/MongoRepository.Net45.dll -------------------------------------------------------------------------------- /packages/MongoRepository.1.6.10/tools/install.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | 3 | $helpfile = "MongoRepository.chm"; 4 | $helpfolder = "Documentation" 5 | $helpsource = $installPath + "\" + $helpfile 6 | 7 | $folder = $project.ProjectItems.Item($helpfolder) 8 | If (-not $folder) { 9 | $folder = $project.ProjectItems.AddFolder($helpfolder) 10 | } 11 | $folder.ProjectItems.AddFromFile($helpsource) -------------------------------------------------------------------------------- /packages/MongoRepository.1.6.10/tools/uninstall.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | 3 | $helpfile = "MongoRepository.chm"; 4 | $helpfolder = "Documentation" 5 | 6 | $project.ProjectItems.Item($helpfolder).ProjectItems.Item($helpfile).Delete(); 7 | If ($project.ProjectItems.Item($helpfolder).ProjectItems.Count() -eq 0) { 8 | $project.ProjectItems.Item($helpfolder).Delete() 9 | } -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.5.0.8/Newtonsoft.Json.5.0.8.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Newtonsoft.Json.5.0.8/Newtonsoft.Json.5.0.8.nupkg -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.5.0.8/lib/net20/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Newtonsoft.Json.5.0.8/lib/net20/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.5.0.8/lib/net35/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Newtonsoft.Json.5.0.8/lib/net35/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.5.0.8/lib/net40/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Newtonsoft.Json.5.0.8/lib/net40/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.5.0.8/lib/net45/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Newtonsoft.Json.5.0.8/lib/net45/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.5.0.8/lib/netcore45/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Newtonsoft.Json.5.0.8/lib/netcore45/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.5.0.8/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Newtonsoft.Json.5.0.8/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.5.0.8/lib/portable-net45+wp80+win8/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/Newtonsoft.Json.5.0.8/lib/portable-net45+wp80+win8/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.5.0.8/tools/install.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | 3 | # open json.net splash page on package install 4 | # don't open if json.net is installed as a dependency 5 | 6 | try 7 | { 8 | $url = "http://james.newtonking.com/json" 9 | $dte2 = Get-Interface $dte ([EnvDTE80.DTE2]) 10 | 11 | if ($dte2.ActiveWindow.Caption -eq "Package Manager Console") 12 | { 13 | # user is installing from VS NuGet console 14 | # get reference to the window, the console host and the input history 15 | # show webpage if "install-package newtonsoft.json" was last input 16 | 17 | $consoleWindow = $(Get-VSComponentModel).GetService([NuGetConsole.IPowerConsoleWindow]) 18 | 19 | $props = $consoleWindow.GetType().GetProperties([System.Reflection.BindingFlags]::Instance -bor ` 20 | [System.Reflection.BindingFlags]::NonPublic) 21 | 22 | $prop = $props | ? { $_.Name -eq "ActiveHostInfo" } | select -first 1 23 | if ($prop -eq $null) { return } 24 | 25 | $hostInfo = $prop.GetValue($consoleWindow) 26 | if ($hostInfo -eq $null) { return } 27 | 28 | $history = $hostInfo.WpfConsole.InputHistory.History 29 | 30 | $lastCommand = $history | select -last 1 31 | 32 | if ($lastCommand) 33 | { 34 | $lastCommand = $lastCommand.Trim().ToLower() 35 | if ($lastCommand.StartsWith("install-package") -and $lastCommand.Contains("newtonsoft.json")) 36 | { 37 | $dte2.ItemOperations.Navigate($url) | Out-Null 38 | } 39 | } 40 | } 41 | else 42 | { 43 | # user is installing from VS NuGet dialog 44 | # get reference to the window, then smart output console provider 45 | # show webpage if messages in buffered console contains "installing...newtonsoft.json" in last operation 46 | 47 | $instanceField = [NuGet.Dialog.PackageManagerWindow].GetField("CurrentInstance", [System.Reflection.BindingFlags]::Static -bor ` 48 | [System.Reflection.BindingFlags]::NonPublic) 49 | $consoleField = [NuGet.Dialog.PackageManagerWindow].GetField("_smartOutputConsoleProvider", [System.Reflection.BindingFlags]::Instance -bor ` 50 | [System.Reflection.BindingFlags]::NonPublic) 51 | if ($instanceField -eq $null -or $consoleField -eq $null) { return } 52 | 53 | $instance = $instanceField.GetValue($null) 54 | if ($instance -eq $null) { return } 55 | 56 | $consoleProvider = $consoleField.GetValue($instance) 57 | if ($consoleProvider -eq $null) { return } 58 | 59 | $console = $consoleProvider.CreateOutputConsole($false) 60 | 61 | $messagesField = $console.GetType().GetField("_messages", [System.Reflection.BindingFlags]::Instance -bor ` 62 | [System.Reflection.BindingFlags]::NonPublic) 63 | if ($messagesField -eq $null) { return } 64 | 65 | $messages = $messagesField.GetValue($console) 66 | if ($messages -eq $null) { return } 67 | 68 | $operations = $messages -split "==============================" 69 | 70 | $lastOperation = $operations | select -last 1 71 | 72 | if ($lastOperation) 73 | { 74 | $lastOperation = $lastOperation.ToLower() 75 | 76 | $lines = $lastOperation -split "`r`n" 77 | 78 | $installMatch = $lines | ? { $_.StartsWith("------- installing...newtonsoft.json ") } | select -first 1 79 | 80 | if ($installMatch) 81 | { 82 | $dte2.ItemOperations.Navigate($url) | Out-Null 83 | } 84 | } 85 | } 86 | } 87 | catch 88 | { 89 | # stop potential errors from bubbling up 90 | # worst case the splash page won't open 91 | } 92 | 93 | # yolo -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/System.Spatial.5.6.2.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/System.Spatial.5.6.2.nupkg -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/net40/System.Spatial.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/net40/System.Spatial.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/net40/de/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/net40/de/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/net40/es/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/net40/es/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/net40/fr/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/net40/fr/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/net40/it/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/net40/it/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/net40/ja/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/net40/ja/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/net40/ko/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/net40/ko/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/net40/ru/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/net40/ru/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/net40/zh-Hans/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/net40/zh-Hans/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/net40/zh-Hant/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/net40/zh-Hant/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/System.Spatial.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/System.Spatial.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/de/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/de/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/es/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/es/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/fr/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/fr/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/it/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/it/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/ja/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/ja/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/ko/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/ko/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/ru/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/ru/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/zh-Hans/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/zh-Hans/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/zh-Hant/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/portable-net40+sl5+wp8+win8+wpa/zh-Hant/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/sl4/System.Spatial.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/sl4/System.Spatial.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/sl4/de/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/sl4/de/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/sl4/es/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/sl4/es/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/sl4/fr/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/sl4/fr/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/sl4/it/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/sl4/it/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/sl4/ja/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/sl4/ja/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/sl4/ko/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/sl4/ko/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/sl4/ru/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/sl4/ru/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/sl4/zh-Hans/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/sl4/zh-Hans/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/System.Spatial.5.6.2/lib/sl4/zh-Hant/System.Spatial.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/System.Spatial.5.6.2/lib/sl4/zh-Hant/System.Spatial.resources.dll -------------------------------------------------------------------------------- /packages/WindowsAzure.Storage.4.3.0/WindowsAzure.Storage.4.3.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/WindowsAzure.Storage.4.3.0/WindowsAzure.Storage.4.3.0.nupkg -------------------------------------------------------------------------------- /packages/WindowsAzure.Storage.4.3.0/lib/net40/Microsoft.WindowsAzure.Storage.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/WindowsAzure.Storage.4.3.0/lib/net40/Microsoft.WindowsAzure.Storage.dll -------------------------------------------------------------------------------- /packages/WindowsAzure.Storage.4.3.0/lib/win8/Microsoft.WindowsAzure.Storage.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/WindowsAzure.Storage.4.3.0/lib/win8/Microsoft.WindowsAzure.Storage.dll -------------------------------------------------------------------------------- /packages/WindowsAzure.Storage.4.3.0/lib/wp8/Microsoft.WindowsAzure.Storage.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/WindowsAzure.Storage.4.3.0/lib/wp8/Microsoft.WindowsAzure.Storage.dll -------------------------------------------------------------------------------- /packages/WindowsAzure.Storage.4.3.0/lib/wpa/Microsoft.WindowsAzure.Storage.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/WindowsAzure.Storage.4.3.0/lib/wpa/Microsoft.WindowsAzure.Storage.dll -------------------------------------------------------------------------------- /packages/mongocsharpdriver.1.10.1/License.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Courier New;}{\f1\fswiss\fprq2\fcharset0 Calibri;}} 2 | {\colortbl ;\red0\green0\blue255;} 3 | {\*\generator Riched20 6.2.9200}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 4 | \pard\widctlpar\f0\fs20 Copyright 2010-2014 MongoDB Inc.\par 5 | \par 6 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at\par 7 | \par 8 | {{\field{\*\fldinst{HYPERLINK http://www.apache.org/licenses/LICENSE-2.0 }}{\fldrslt{http://www.apache.org/licenses/LICENSE-2.0\ul0\cf0}}}}\f0\fs20\par 9 | \par 10 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\par 11 | 12 | \pard\widctlpar\sa200\sl276\slmult1\f1\fs22\par 13 | } 14 | -------------------------------------------------------------------------------- /packages/mongocsharpdriver.1.10.1/lib/net35/MongoDB.Bson.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/mongocsharpdriver.1.10.1/lib/net35/MongoDB.Bson.dll -------------------------------------------------------------------------------- /packages/mongocsharpdriver.1.10.1/lib/net35/MongoDB.Driver.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/mongocsharpdriver.1.10.1/lib/net35/MongoDB.Driver.dll -------------------------------------------------------------------------------- /packages/mongocsharpdriver.1.10.1/mongocsharpdriver.1.10.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geffzhang/Sequence/b47d73ab66a9a1786c39390755a4b4f6b15cbbd8/packages/mongocsharpdriver.1.10.1/mongocsharpdriver.1.10.1.nupkg --------------------------------------------------------------------------------