Data.Modeler 5.0.98

dotnet add package Data.Modeler --version 5.0.98
                    
NuGet\Install-Package Data.Modeler -Version 5.0.98
                    
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.98" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Data.Modeler" Version="5.0.98" />
                    
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.98
                    
#r "nuget: Data.Modeler, 5.0.98"
                    
#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.98
                    
#: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.98
                    
Install as a Cake Addin
#tool nuget:?package=Data.Modeler&version=5.0.98
                    
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.98 227 12/24/2025
5.0.97 200 12/23/2025
5.0.96 193 12/22/2025
5.0.95 489 12/11/2025
5.0.94 453 12/10/2025
5.0.92 785 12/1/2025
5.0.91 538 11/18/2025
5.0.90 238 11/14/2025
5.0.89 228 11/14/2025
5.0.88 338 11/13/2025
5.0.87 314 11/13/2025
5.0.86 311 11/13/2025
5.0.85 247 11/6/2025
5.0.84 209 10/31/2025
5.0.83 313 10/17/2025
5.0.82 217 10/16/2025
5.0.81 226 10/15/2025
5.0.80 255 10/14/2025
5.0.79 232 10/13/2025
5.0.78 274 10/12/2025
5.0.77 296 9/30/2025
5.0.76 218 9/29/2025
5.0.75 196 9/29/2025
5.0.72 459 9/18/2025
5.0.71 320 9/18/2025
5.0.70 370 9/17/2025
5.0.69 356 9/16/2025
5.0.68 225 9/11/2025
5.0.67 221 9/10/2025
5.0.66 233 9/9/2025
5.0.65 387 8/20/2025
5.0.64 201 8/20/2025
5.0.63 210 8/20/2025
5.0.62 185 8/19/2025
5.0.61 201 8/19/2025
5.0.60 232 8/19/2025
5.0.59 215 8/15/2025
5.0.58 364 8/6/2025
5.0.57 310 8/5/2025
5.0.56 282 8/5/2025
5.0.55 273 8/5/2025
5.0.54 320 8/5/2025
5.0.53 248 8/5/2025
5.0.52 152 8/1/2025
5.0.51 279 7/28/2025
5.0.50 254 7/17/2025
5.0.49 202 7/17/2025
5.0.48 304 7/15/2025
5.0.47 197 7/14/2025
5.0.46 211 7/14/2025
5.0.45 249 7/8/2025
5.0.44 595 6/30/2025
5.0.43 208 6/30/2025
5.0.42 205 6/30/2025
5.0.41 233 6/27/2025
5.0.40 259 6/27/2025
5.0.39 201 6/27/2025
5.0.38 201 6/27/2025
5.0.37 191 6/27/2025
5.0.36 237 6/26/2025
5.0.35 226 6/18/2025
5.0.34 392 6/10/2025
5.0.33 174 5/30/2025
5.0.32 196 5/23/2025
5.0.31 330 5/14/2025
5.0.30 181 5/2/2025
5.0.29 245 4/28/2025
5.0.28 221 4/11/2025
5.0.27 244 3/17/2025
5.0.26 200 2/24/2025
5.0.25 227 2/12/2025
5.0.24 343 2/3/2025
5.0.23 246 1/30/2025
5.0.22 223 1/29/2025
5.0.21 189 1/29/2025
5.0.20 199 1/28/2025
5.0.19 229 1/24/2025
5.0.18 209 1/23/2025
5.0.17 183 1/23/2025
5.0.16 254 1/16/2025
5.0.15 197 1/15/2025
5.0.14 218 1/14/2025
5.0.13 197 1/13/2025
5.0.12 208 1/10/2025
5.0.11 205 1/9/2025
5.0.10 170 1/8/2025
5.0.9 263 12/17/2024
5.0.8 218 12/17/2024
5.0.7 255 12/10/2024
5.0.6 214 12/9/2024
5.0.5 297 11/26/2024
5.0.4 262 11/26/2024
5.0.3 198 11/25/2024
5.0.2 254 11/24/2024
5.0.1 206 11/23/2024
5.0.0 198 11/23/2024
4.0.268 226 11/19/2024
4.0.267 192 11/11/2024
4.0.266 190 11/6/2024
4.0.265 198 11/5/2024
4.0.264 190 11/4/2024
4.0.263 228 11/1/2024
4.0.262 192 10/31/2024
4.0.261 207 10/30/2024
4.0.260 195 10/29/2024
4.0.259 203 10/29/2024
4.0.258 214 10/25/2024
4.0.257 188 10/24/2024
4.0.256 216 10/21/2024
4.0.255 206 10/16/2024
4.0.254 199 10/15/2024
4.0.253 209 10/11/2024
4.0.252 195 10/10/2024
4.0.251 186 10/9/2024
4.0.250 182 10/8/2024
4.0.249 216 10/2/2024
4.0.248 222 10/1/2024
4.0.247 195 9/30/2024
4.0.246 223 9/27/2024
4.0.245 194 9/24/2024
4.0.244 195 9/23/2024
4.0.243 191 9/23/2024
4.0.242 254 9/17/2024
4.0.241 252 9/10/2024
4.0.240 206 9/9/2024
4.0.239 225 9/6/2024
4.0.238 228 9/5/2024
4.0.237 206 9/3/2024
4.0.236 210 9/2/2024
4.0.235 208 8/30/2024
4.0.234 217 8/29/2024
4.0.233 233 8/28/2024
4.0.232 222 8/27/2024
4.0.231 212 8/26/2024
4.0.230 225 8/23/2024
4.0.229 225 8/22/2024
4.0.228 214 8/21/2024
4.0.227 221 8/20/2024
4.0.226 207 8/20/2024
4.0.225 244 8/19/2024
4.0.224 258 8/16/2024
4.0.223 232 8/15/2024
4.0.222 254 8/14/2024
4.0.221 193 8/5/2024
4.0.220 193 8/2/2024
4.0.219 236 8/1/2024
4.0.218 181 7/31/2024
4.0.217 227 7/26/2024
4.0.216 197 7/25/2024
4.0.215 162 7/24/2024
4.0.214 210 7/11/2024
4.0.213 182 7/10/2024
4.0.212 194 7/9/2024
4.0.211 213 7/9/2024
4.0.210 194 7/8/2024
4.0.209 203 7/5/2024
4.0.208 228 7/5/2024
4.0.207 197 7/2/2024
4.0.206 197 7/1/2024
4.0.205 236 6/27/2024
4.0.204 243 6/26/2024
4.0.203 214 6/25/2024
4.0.202 234 6/24/2024
4.0.201 1,326 6/19/2024
4.0.200 247 6/18/2024
4.0.199 198 6/17/2024
4.0.198 206 6/14/2024
4.0.197 197 6/13/2024
4.0.196 220 6/12/2024
4.0.195 217 6/3/2024
4.0.194 209 5/31/2024
4.0.193 248 5/30/2024
4.0.192 212 5/29/2024
4.0.191 231 5/27/2024
4.0.190 218 5/27/2024
4.0.189 196 5/23/2024
4.0.188 208 5/22/2024
4.0.187 239 5/21/2024
4.0.186 235 5/20/2024
4.0.185 206 5/17/2024
4.0.184 201 5/16/2024
4.0.183 224 5/15/2024
4.0.182 214 5/8/2024
4.0.181 204 5/7/2024
4.0.180 224 5/6/2024
4.0.179 236 5/3/2024
4.0.178 952 5/2/2024
4.0.177 173 5/1/2024
4.0.176 224 4/30/2024
4.0.175 209 4/29/2024
4.0.174 207 4/29/2024
4.0.173 248 4/25/2024
4.0.172 231 4/24/2024
4.0.171 244 4/16/2024
4.0.170 212 4/15/2024
4.0.169 228 4/12/2024
4.0.168 228 4/12/2024
4.0.167 241 4/11/2024
4.0.166 259 4/10/2024
4.0.165 216 4/9/2024
4.0.164 218 4/8/2024
4.0.163 221 4/1/2024
4.0.162 202 3/29/2024
4.0.161 237 3/28/2024
4.0.160 218 3/26/2024
4.0.159 232 3/23/2024
4.0.158 240 3/22/2024
4.0.157 235 3/21/2024
4.0.156 216 3/18/2024
4.0.155 239 3/15/2024
4.0.154 221 3/14/2024
4.0.153 229 3/13/2024
4.0.152 270 3/11/2024
4.0.151 239 3/8/2024
4.0.150 223 3/7/2024
4.0.149 214 3/6/2024
4.0.148 223 3/5/2024
4.0.147 1,329 3/4/2024
4.0.146 240 3/1/2024
4.0.145 249 2/29/2024
4.0.144 249 2/28/2024
4.0.143 252 2/27/2024
4.0.142 248 2/26/2024
4.0.141 249 2/23/2024
4.0.140 263 2/22/2024
4.0.139 242 2/21/2024
4.0.138 256 2/20/2024
4.0.137 591 2/19/2024
4.0.136 217 2/19/2024
4.0.135 223 2/16/2024
4.0.134 232 2/16/2024
4.0.133 206 2/15/2024
4.0.132 232 2/14/2024
4.0.131 195 2/13/2024
4.0.130 236 2/12/2024
4.0.129 218 2/9/2024
4.0.128 272 2/8/2024
4.0.127 228 2/7/2024
4.0.126 249 2/6/2024
4.0.125 186 2/6/2024
4.0.124 204 2/5/2024
4.0.123 738 2/2/2024
4.0.122 255 2/1/2024
4.0.121 207 2/1/2024
4.0.120 257 1/31/2024
4.0.119 334 1/30/2024
4.0.118 257 1/29/2024
4.0.117 268 1/26/2024
4.0.116 226 1/24/2024
4.0.115 202 1/23/2024
4.0.114 211 1/22/2024
4.0.113 503 1/16/2024
4.0.112 281 1/15/2024
4.0.111 230 1/15/2024
4.0.110 233 1/12/2024
4.0.109 238 1/11/2024
4.0.108 210 1/10/2024
4.0.107 466 1/8/2024
4.0.106 305 1/5/2024
4.0.105 437 12/26/2023
4.0.104 260 12/26/2023
4.0.103 267 12/25/2023
4.0.102 248 12/25/2023
4.0.101 362 12/22/2023
4.0.100 294 12/21/2023
4.0.99 274 12/15/2023
4.0.98 255 12/14/2023
4.0.97 235 12/13/2023
4.0.96 258 12/13/2023
4.0.95 441 12/12/2023
4.0.94 262 12/12/2023
4.0.93 240 12/11/2023
4.0.92 234 12/11/2023
4.0.91 287 12/6/2023
4.0.90 219 12/6/2023
4.0.89 222 12/5/2023
4.0.88 284 12/4/2023
4.0.87 296 11/24/2023
4.0.86 222 11/23/2023
4.0.85 244 11/21/2023
4.0.84 260 11/20/2023
4.0.83 232 11/20/2023
4.0.82 303 11/17/2023
4.0.81 725 11/16/2023
4.0.80 247 11/15/2023
4.0.79 245 11/13/2023
4.0.78 286 11/9/2023
4.0.77 275 11/8/2023
4.0.76 200 11/8/2023
4.0.75 244 11/7/2023
4.0.74 244 11/6/2023
4.0.73 229 11/3/2023
4.0.72 304 11/2/2023
4.0.71 233 11/1/2023
4.0.70 228 11/1/2023
4.0.69 292 10/31/2023
4.0.68 269 10/30/2023
4.0.67 243 10/27/2023
4.0.66 284 10/26/2023
4.0.65 265 10/25/2023
4.0.64 231 10/17/2023
4.0.63 204 10/17/2023
4.0.62 277 10/16/2023
4.0.61 267 10/13/2023
4.0.60 316 10/12/2023
4.0.59 237 10/11/2023
4.0.58 277 10/5/2023
4.0.57 254 10/4/2023
4.0.56 238 9/26/2023
4.0.55 264 9/25/2023
4.0.54 280 9/22/2023
4.0.53 278 9/20/2023
4.0.52 271 9/19/2023
4.0.51 256 9/18/2023
4.0.50 247 9/18/2023
4.0.49 307 9/14/2023
4.0.48 288 9/13/2023
4.0.47 237 9/12/2023
4.0.46 321 9/11/2023
4.0.45 230 9/11/2023
4.0.44 220 9/11/2023
4.0.43 402 9/7/2023
4.0.42 247 9/6/2023
4.0.41 319 9/5/2023
4.0.40 249 9/4/2023
4.0.39 264 9/4/2023
4.0.38 313 9/1/2023
4.0.37 314 8/31/2023
4.0.36 317 8/30/2023
4.0.35 324 8/29/2023
4.0.34 248 8/29/2023
4.0.33 353 8/28/2023
4.0.32 337 8/25/2023
4.0.31 298 8/24/2023
4.0.30 284 8/23/2023
4.0.29 297 8/22/2023
4.0.28 297 8/18/2023
4.0.27 310 8/17/2023
4.0.26 281 8/17/2023
4.0.25 265 8/16/2023
4.0.24 375 8/10/2023
4.0.23 310 8/9/2023
4.0.22 337 8/8/2023
4.0.21 284 8/8/2023
4.0.20 411 8/7/2023
4.0.19 300 8/4/2023
4.0.18 367 8/3/2023
4.0.17 346 8/2/2023
4.0.16 344 7/26/2023
4.0.15 297 7/25/2023
4.0.14 323 7/20/2023
4.0.13 348 7/19/2023
4.0.12 323 7/18/2023
4.0.11 237 7/18/2023
4.0.10 311 7/18/2023
4.0.9 262 7/18/2023
4.0.8 419 7/17/2023
4.0.7 298 7/17/2023
4.0.6 693 1/30/2023
4.0.5 547 1/30/2023
4.0.4 537 1/27/2023
4.0.3 668 12/13/2022
4.0.0 436 12/12/2022
3.0.47 1,700 6/10/2022
3.0.45 1,160 4/20/2022
3.0.44 1,194 1/11/2022
3.0.43 816 1/10/2022
3.0.42 1,289 6/17/2021
3.0.41 942 6/16/2021
3.0.40 886 6/16/2021
3.0.39 682 6/16/2021
3.0.38 1,219 1/7/2021
3.0.37 1,032 12/16/2020
3.0.36 942 12/14/2020
3.0.35 2,613 9/13/2020
3.0.34 1,095 6/19/2020
3.0.33 2,102 5/12/2020
3.0.32 1,634 5/12/2020
3.0.31 1,075 4/28/2020
3.0.30 1,031 4/24/2020
3.0.29 1,011 4/16/2020
3.0.28 1,093 4/16/2020
3.0.27 729 4/15/2020
3.0.26 1,041 4/15/2020
3.0.25 1,091 4/14/2020
3.0.24 792 4/14/2020
3.0.23 1,145 4/10/2020
3.0.22 1,080 4/10/2020
3.0.21 1,127 4/7/2020
3.0.20 2,974 3/26/2020
3.0.19 1,112 3/26/2020
3.0.18 782 3/25/2020
3.0.17 775 3/25/2020
3.0.16 798 3/25/2020
3.0.15 775 3/25/2020
3.0.13 789 3/25/2020
3.0.12 790 3/25/2020
3.0.11 758 3/25/2020
3.0.10 1,338 3/25/2020
3.0.9 1,160 3/22/2020
3.0.8 751 3/22/2020
3.0.7 1,151 3/21/2020
3.0.6 1,783 3/13/2020
3.0.5 814 3/13/2020
3.0.4 1,558 2/28/2020
3.0.3 1,363 2/21/2020
3.0.2 816 2/11/2020
3.0.1 790 2/11/2020
3.0.0 1,999 12/23/2019
2.0.13 837 11/4/2019
2.0.12 891 6/19/2019
2.0.11 865 6/19/2019
2.0.10 1,176 4/17/2019
2.0.9 1,742 2/21/2019
2.0.8 4,326 8/1/2018
2.0.7 1,562 8/1/2018
2.0.6 2,123 6/26/2018
2.0.5 1,480 6/14/2018
2.0.4 2,109 6/1/2018
2.0.3 2,056 5/22/2018
2.0.2 2,629 5/11/2018
2.0.1 2,698 2/13/2018
2.0.0 2,645 1/2/2018
1.0.29 4,288 11/16/2017
1.0.28 1,286 11/16/2017
1.0.27 6,832 10/18/2017
1.0.26 5,037 9/22/2017
1.0.24 1,365 9/22/2017
1.0.23 1,705 9/22/2017
1.0.22 1,367 9/22/2017
1.0.21 1,398 9/22/2017
1.0.19 1,371 9/22/2017
1.0.18 1,365 9/21/2017
1.0.17 2,430 8/4/2017
1.0.16 1,383 7/3/2017
1.0.15 1,400 6/16/2017
1.0.13 1,402 6/16/2017
1.0.12 1,383 6/16/2017
1.0.11 1,391 5/30/2017
1.0.9 1,379 5/25/2017
1.0.8 1,354 5/24/2017
1.0.7 1,388 5/19/2017
1.0.6 1,425 5/17/2017
1.0.4 1,508 4/3/2017
1.0.3 1,519 3/22/2017
1.0.2 1,507 2/2/2017