Data.Modeler 5.0.91

dotnet add package Data.Modeler --version 5.0.91
                    
NuGet\Install-Package Data.Modeler -Version 5.0.91
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Data.Modeler" Version="5.0.91" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Data.Modeler" Version="5.0.91" />
                    
Directory.Packages.props
<PackageReference Include="Data.Modeler" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Data.Modeler --version 5.0.91
                    
#r "nuget: Data.Modeler, 5.0.91"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Data.Modeler@5.0.91
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Data.Modeler&version=5.0.91
                    
Install as a Cake Addin
#tool nuget:?package=Data.Modeler&version=5.0.91
                    
Install as a Cake Tool

Data.Modeler

Build status

Data.Modeler is a library used to interact with model database schemas in C#. Works with .Net Core.

Basic Usage

In order to use Data.Modeler, you need to first wire up the system with your ServiceCollection. In order to do this, all you need to do is make one method call:

serviceCollection.AddCanisterModules();
				

This line is required prior to using the DataModeler class for the first time. Once Canister is set up, you can call the DataModeler class provided:

var SchemaProvider = DataModeler.GetSchemaGenerator(SqlClientFactory.Instance);

Note that the above gets the schema provider for SQL Server but for other databases you must provide the DbProviderFactory associated with it. You can also start creating a schema:

var Source = DataModeler.CreateSource("MySource");

The "MySource" string is the database name that you wish to use.

Creating a Schema

Once you have your ISource object, you can start adding on to it:

var Table = Source.AddTable("TableName", "dbo");
var Column = Table.AddColumn<int>("ColumnName",DbType.Int32);
var CheckConstraint = Table.AddCheckConstraint("CheckConstraintName", "Check Constraint Definition");
var View = Source.AddView("ViewName","View Creation Code", "dbo");
var Function = Source.AddFunction("FunctionName","Function Creation Code", "dbo");
var StoredProcedure = Source.AddStoredProcedure("StoredProcedureName","Stored Procedure Creation Code", "dbo");

From there the schema provider can be used to either generate the commands needed to create the database or what commands are needed to alter an existing database to the desired schema:

var MyCommands = SchemaProvider.GenerateSchema(DesiredSchema, SourceSchema);

If SourceSchema is null, then it will treat it as the database doesn't exist. If the SourceSchema is not null, it will act as though the database exists and the DesiredSchema is what you want the final schema to look like. Note that deleting columns, tables, etc. is not done by the system. It will, however, generate calls to drop functions, stored procedures, views, constraints, etc. if they need to be updated. Another thing you can do is have the system apply those changes for you:

SchemaProvider.Setup(DesiredSchema,new Connection(Configuration, SqlClientFactory.Instance, "Default"));

The connection object must be fed a IConfiguration object, a DbProviderFactory for the database type you wish it to connect to, and either the name of your connection string in the configuration object or a connection string:

SchemaProvider.Setup(DesiredSchema,new Connection(Configuration, SqlClientFactory.Instance, "Data Source=localhost;Initial Catalog=ExampleDatabase;Integrated Security=SSPI;Pooling=false"));

Adding a ISchemaGenerator

The schema generator is what the system uses to generate the individual commands. Data.Modeler comes with one for SQL Server but in order to add your own you must create a class that inherits from ISchemaGenerator. From there the system will automatically pick up the schema generator and allow you to use it:

var SchemaProvider = DataModeler.GetSchemaGenerator(MyDbFactoryProvider);

Note that you can also create one for SQL Server and the system will actually return the one that you create instead of the one built into the system.

Installation

The library is available via Nuget with the package name "Data.Modeler". To install it run the following command in the Package Manager Console:

Install-Package Data.Modeler

Build Process

In order to build the library you will require the following as a minimum:

  1. Visual Studio 2022

Other than that, just clone the project and you should be able to load the solution and build without too much effort.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Data.Modeler:

Package Downloads
Inflatable

Inflatable is a simple ORM.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
5.0.91 0 11/18/2025
5.0.90 158 11/14/2025
5.0.89 169 11/14/2025
5.0.88 250 11/13/2025
5.0.87 253 11/13/2025
5.0.86 252 11/13/2025
5.0.85 225 11/6/2025
5.0.84 188 10/31/2025
5.0.83 293 10/17/2025
5.0.82 204 10/16/2025
5.0.81 206 10/15/2025
5.0.80 239 10/14/2025
5.0.79 215 10/13/2025
5.0.78 250 10/12/2025
5.0.77 280 9/30/2025
5.0.76 207 9/29/2025
5.0.75 181 9/29/2025
5.0.72 441 9/18/2025
5.0.71 309 9/18/2025
5.0.70 352 9/17/2025
5.0.69 342 9/16/2025
5.0.68 213 9/11/2025
5.0.67 203 9/10/2025
5.0.66 216 9/9/2025
5.0.65 374 8/20/2025
5.0.64 183 8/20/2025
5.0.63 188 8/20/2025
5.0.62 168 8/19/2025
5.0.61 183 8/19/2025
5.0.60 219 8/19/2025
5.0.59 197 8/15/2025
5.0.58 352 8/6/2025
5.0.57 296 8/5/2025
5.0.56 266 8/5/2025
5.0.55 257 8/5/2025
5.0.54 305 8/5/2025
5.0.53 233 8/5/2025
5.0.52 136 8/1/2025
5.0.51 242 7/28/2025
5.0.50 238 7/17/2025
5.0.49 184 7/17/2025
5.0.48 282 7/15/2025
5.0.47 182 7/14/2025
5.0.46 194 7/14/2025
5.0.45 234 7/8/2025
5.0.44 576 6/30/2025
5.0.43 190 6/30/2025
5.0.42 189 6/30/2025
5.0.41 218 6/27/2025
5.0.40 244 6/27/2025
5.0.39 183 6/27/2025
5.0.38 185 6/27/2025
5.0.37 176 6/27/2025
5.0.36 227 6/26/2025
5.0.35 205 6/18/2025
5.0.34 372 6/10/2025
5.0.33 158 5/30/2025
5.0.32 177 5/23/2025
5.0.31 311 5/14/2025
5.0.30 163 5/2/2025
5.0.29 227 4/28/2025
5.0.28 209 4/11/2025
5.0.27 230 3/17/2025
5.0.26 187 2/24/2025
5.0.25 210 2/12/2025
5.0.24 330 2/3/2025
5.0.23 229 1/30/2025
5.0.22 206 1/29/2025
5.0.21 174 1/29/2025
5.0.20 185 1/28/2025
5.0.19 211 1/24/2025
5.0.18 195 1/23/2025
5.0.17 166 1/23/2025
5.0.16 237 1/16/2025
5.0.15 181 1/15/2025
5.0.14 200 1/14/2025
5.0.13 178 1/13/2025
5.0.12 197 1/10/2025
5.0.11 194 1/9/2025
5.0.10 155 1/8/2025
5.0.9 247 12/17/2024
5.0.8 204 12/17/2024
5.0.7 241 12/10/2024
5.0.6 198 12/9/2024
5.0.5 283 11/26/2024
5.0.4 249 11/26/2024
5.0.3 184 11/25/2024
5.0.2 243 11/24/2024
5.0.1 188 11/23/2024
5.0.0 178 11/23/2024
4.0.268 215 11/19/2024
4.0.267 182 11/11/2024
4.0.266 181 11/6/2024
4.0.265 183 11/5/2024
4.0.264 177 11/4/2024
4.0.263 214 11/1/2024
4.0.262 179 10/31/2024
4.0.261 191 10/30/2024
4.0.260 181 10/29/2024
4.0.259 190 10/29/2024
4.0.258 204 10/25/2024
4.0.257 178 10/24/2024
4.0.256 201 10/21/2024
4.0.255 192 10/16/2024
4.0.254 185 10/15/2024
4.0.253 200 10/11/2024
4.0.252 183 10/10/2024
4.0.251 177 10/9/2024
4.0.250 172 10/8/2024
4.0.249 204 10/2/2024
4.0.248 209 10/1/2024
4.0.247 182 9/30/2024
4.0.246 209 9/27/2024
4.0.245 182 9/24/2024
4.0.244 183 9/23/2024
4.0.243 177 9/23/2024
4.0.242 244 9/17/2024
4.0.241 231 9/10/2024
4.0.240 191 9/9/2024
4.0.239 210 9/6/2024
4.0.238 215 9/5/2024
4.0.237 189 9/3/2024
4.0.236 193 9/2/2024
4.0.235 197 8/30/2024
4.0.234 199 8/29/2024
4.0.233 221 8/28/2024
4.0.232 208 8/27/2024
4.0.231 197 8/26/2024
4.0.230 213 8/23/2024
4.0.229 211 8/22/2024
4.0.228 200 8/21/2024
4.0.227 214 8/20/2024
4.0.226 199 8/20/2024
4.0.225 233 8/19/2024
4.0.224 241 8/16/2024
4.0.223 223 8/15/2024
4.0.222 245 8/14/2024
4.0.221 187 8/5/2024
4.0.220 181 8/2/2024
4.0.219 225 8/1/2024
4.0.218 171 7/31/2024
4.0.217 213 7/26/2024
4.0.216 186 7/25/2024
4.0.215 148 7/24/2024
4.0.214 196 7/11/2024
4.0.213 174 7/10/2024
4.0.212 178 7/9/2024
4.0.211 200 7/9/2024
4.0.210 185 7/8/2024
4.0.209 190 7/5/2024
4.0.208 214 7/5/2024
4.0.207 187 7/2/2024
4.0.206 187 7/1/2024
4.0.205 228 6/27/2024
4.0.204 227 6/26/2024
4.0.203 201 6/25/2024
4.0.202 222 6/24/2024
4.0.201 1,311 6/19/2024
4.0.200 234 6/18/2024
4.0.199 184 6/17/2024
4.0.198 190 6/14/2024
4.0.197 184 6/13/2024
4.0.196 207 6/12/2024
4.0.195 203 6/3/2024
4.0.194 193 5/31/2024
4.0.193 235 5/30/2024
4.0.192 202 5/29/2024
4.0.191 219 5/27/2024
4.0.190 203 5/27/2024
4.0.189 188 5/23/2024
4.0.188 194 5/22/2024
4.0.187 228 5/21/2024
4.0.186 222 5/20/2024
4.0.185 198 5/17/2024
4.0.184 192 5/16/2024
4.0.183 210 5/15/2024
4.0.182 207 5/8/2024
4.0.181 192 5/7/2024
4.0.180 212 5/6/2024
4.0.179 225 5/3/2024
4.0.178 940 5/2/2024
4.0.177 162 5/1/2024
4.0.176 213 4/30/2024
4.0.175 196 4/29/2024
4.0.174 194 4/29/2024
4.0.173 231 4/25/2024
4.0.172 221 4/24/2024
4.0.171 231 4/16/2024
4.0.170 204 4/15/2024
4.0.169 218 4/12/2024
4.0.168 218 4/12/2024
4.0.167 226 4/11/2024
4.0.166 242 4/10/2024
4.0.165 206 4/9/2024
4.0.164 210 4/8/2024
4.0.163 209 4/1/2024
4.0.162 188 3/29/2024
4.0.161 225 3/28/2024
4.0.160 202 3/26/2024
4.0.159 218 3/23/2024
4.0.158 224 3/22/2024
4.0.157 222 3/21/2024
4.0.156 205 3/18/2024
4.0.155 222 3/15/2024
4.0.154 211 3/14/2024
4.0.153 218 3/13/2024
4.0.152 256 3/11/2024
4.0.151 227 3/8/2024
4.0.150 214 3/7/2024
4.0.149 204 3/6/2024
4.0.148 211 3/5/2024
4.0.147 1,317 3/4/2024
4.0.146 229 3/1/2024
4.0.145 240 2/29/2024
4.0.144 236 2/28/2024
4.0.143 243 2/27/2024
4.0.142 239 2/26/2024
4.0.141 237 2/23/2024
4.0.140 251 2/22/2024
4.0.139 224 2/21/2024
4.0.138 246 2/20/2024
4.0.137 578 2/19/2024
4.0.136 199 2/19/2024
4.0.135 209 2/16/2024
4.0.134 222 2/16/2024
4.0.133 190 2/15/2024
4.0.132 218 2/14/2024
4.0.131 186 2/13/2024
4.0.130 226 2/12/2024
4.0.129 202 2/9/2024
4.0.128 258 2/8/2024
4.0.127 218 2/7/2024
4.0.126 237 2/6/2024
4.0.125 177 2/6/2024
4.0.124 196 2/5/2024
4.0.123 728 2/2/2024
4.0.122 240 2/1/2024
4.0.121 193 2/1/2024
4.0.120 244 1/31/2024
4.0.119 321 1/30/2024
4.0.118 247 1/29/2024
4.0.117 255 1/26/2024
4.0.116 214 1/24/2024
4.0.115 192 1/23/2024
4.0.114 203 1/22/2024
4.0.113 492 1/16/2024
4.0.112 265 1/15/2024
4.0.111 222 1/15/2024
4.0.110 226 1/12/2024
4.0.109 219 1/11/2024
4.0.108 196 1/10/2024
4.0.107 458 1/8/2024
4.0.106 291 1/5/2024
4.0.105 428 12/26/2023
4.0.104 249 12/26/2023
4.0.103 249 12/25/2023
4.0.102 238 12/25/2023
4.0.101 348 12/22/2023
4.0.100 280 12/21/2023
4.0.99 265 12/15/2023
4.0.98 242 12/14/2023
4.0.97 224 12/13/2023
4.0.96 244 12/13/2023
4.0.95 431 12/12/2023
4.0.94 244 12/12/2023
4.0.93 228 12/11/2023
4.0.92 222 12/11/2023
4.0.91 279 12/6/2023
4.0.90 213 12/6/2023
4.0.89 211 12/5/2023
4.0.88 274 12/4/2023
4.0.87 291 11/24/2023
4.0.86 216 11/23/2023
4.0.85 237 11/21/2023
4.0.84 250 11/20/2023
4.0.83 224 11/20/2023
4.0.82 293 11/17/2023
4.0.81 713 11/16/2023
4.0.80 240 11/15/2023
4.0.79 233 11/13/2023
4.0.78 274 11/9/2023
4.0.77 265 11/8/2023
4.0.76 192 11/8/2023
4.0.75 239 11/7/2023
4.0.74 233 11/6/2023
4.0.73 221 11/3/2023
4.0.72 298 11/2/2023
4.0.71 224 11/1/2023
4.0.70 218 11/1/2023
4.0.69 285 10/31/2023
4.0.68 263 10/30/2023
4.0.67 237 10/27/2023
4.0.66 275 10/26/2023
4.0.65 258 10/25/2023
4.0.64 223 10/17/2023
4.0.63 193 10/17/2023
4.0.62 270 10/16/2023
4.0.61 254 10/13/2023
4.0.60 308 10/12/2023
4.0.59 228 10/11/2023
4.0.58 270 10/5/2023
4.0.57 249 10/4/2023
4.0.56 228 9/26/2023
4.0.55 256 9/25/2023
4.0.54 274 9/22/2023
4.0.53 268 9/20/2023
4.0.52 263 9/19/2023
4.0.51 243 9/18/2023
4.0.50 235 9/18/2023
4.0.49 298 9/14/2023
4.0.48 279 9/13/2023
4.0.47 228 9/12/2023
4.0.46 313 9/11/2023
4.0.45 220 9/11/2023
4.0.44 211 9/11/2023
4.0.43 394 9/7/2023
4.0.42 234 9/6/2023
4.0.41 307 9/5/2023
4.0.40 238 9/4/2023
4.0.39 255 9/4/2023
4.0.38 306 9/1/2023
4.0.37 306 8/31/2023
4.0.36 303 8/30/2023
4.0.35 317 8/29/2023
4.0.34 234 8/29/2023
4.0.33 347 8/28/2023
4.0.32 329 8/25/2023
4.0.31 291 8/24/2023
4.0.30 273 8/23/2023
4.0.29 289 8/22/2023
4.0.28 285 8/18/2023
4.0.27 301 8/17/2023
4.0.26 271 8/17/2023
4.0.25 257 8/16/2023
4.0.24 369 8/10/2023
4.0.23 297 8/9/2023
4.0.22 323 8/8/2023
4.0.21 278 8/8/2023
4.0.20 400 8/7/2023
4.0.19 292 8/4/2023
4.0.18 351 8/3/2023
4.0.17 334 8/2/2023
4.0.16 335 7/26/2023
4.0.15 291 7/25/2023
4.0.14 315 7/20/2023
4.0.13 336 7/19/2023
4.0.12 312 7/18/2023
4.0.11 229 7/18/2023
4.0.10 301 7/18/2023
4.0.9 254 7/18/2023
4.0.8 409 7/17/2023
4.0.7 281 7/17/2023
4.0.6 677 1/30/2023
4.0.5 532 1/30/2023
4.0.4 520 1/27/2023
4.0.3 648 12/13/2022
4.0.0 422 12/12/2022
3.0.47 1,682 6/10/2022
3.0.45 1,142 4/20/2022
3.0.44 1,177 1/11/2022
3.0.43 796 1/10/2022
3.0.42 1,267 6/17/2021
3.0.41 921 6/16/2021
3.0.40 870 6/16/2021
3.0.39 663 6/16/2021
3.0.38 1,193 1/7/2021
3.0.37 1,004 12/16/2020
3.0.36 918 12/14/2020
3.0.35 2,588 9/13/2020
3.0.34 1,061 6/19/2020
3.0.33 2,074 5/12/2020
3.0.32 1,610 5/12/2020
3.0.31 1,053 4/28/2020
3.0.30 1,004 4/24/2020
3.0.29 987 4/16/2020
3.0.28 1,065 4/16/2020
3.0.27 705 4/15/2020
3.0.26 1,017 4/15/2020
3.0.25 1,066 4/14/2020
3.0.24 765 4/14/2020
3.0.23 1,125 4/10/2020
3.0.22 1,056 4/10/2020
3.0.21 1,098 4/7/2020
3.0.20 2,950 3/26/2020
3.0.19 1,085 3/26/2020
3.0.18 755 3/25/2020
3.0.17 748 3/25/2020
3.0.16 771 3/25/2020
3.0.15 748 3/25/2020
3.0.13 761 3/25/2020
3.0.12 766 3/25/2020
3.0.11 736 3/25/2020
3.0.10 1,310 3/25/2020
3.0.9 1,133 3/22/2020
3.0.8 726 3/22/2020
3.0.7 1,125 3/21/2020
3.0.6 1,756 3/13/2020
3.0.5 790 3/13/2020
3.0.4 1,529 2/28/2020
3.0.3 1,335 2/21/2020
3.0.2 785 2/11/2020
3.0.1 763 2/11/2020
3.0.0 1,973 12/23/2019
2.0.13 811 11/4/2019
2.0.12 865 6/19/2019
2.0.11 834 6/19/2019
2.0.10 1,151 4/17/2019
2.0.9 1,716 2/21/2019
2.0.8 4,283 8/1/2018
2.0.7 1,515 8/1/2018
2.0.6 2,060 6/26/2018
2.0.5 1,411 6/14/2018
2.0.4 2,044 6/1/2018
2.0.3 1,994 5/22/2018
2.0.2 2,567 5/11/2018
2.0.1 2,632 2/13/2018
2.0.0 2,582 1/2/2018
1.0.29 4,239 11/16/2017
1.0.28 1,240 11/16/2017
1.0.27 6,790 10/18/2017
1.0.26 4,990 9/22/2017
1.0.24 1,324 9/22/2017
1.0.23 1,662 9/22/2017
1.0.22 1,317 9/22/2017
1.0.21 1,355 9/22/2017
1.0.19 1,327 9/22/2017
1.0.18 1,322 9/21/2017
1.0.17 2,385 8/4/2017
1.0.16 1,340 7/3/2017
1.0.15 1,359 6/16/2017
1.0.13 1,361 6/16/2017
1.0.12 1,335 6/16/2017
1.0.11 1,345 5/30/2017
1.0.9 1,334 5/25/2017
1.0.8 1,308 5/24/2017
1.0.7 1,341 5/19/2017
1.0.6 1,382 5/17/2017
1.0.4 1,457 4/3/2017
1.0.3 1,472 3/22/2017
1.0.2 1,460 2/2/2017