Data.Modeler 5.0.97

dotnet add package Data.Modeler --version 5.0.97
                    
NuGet\Install-Package Data.Modeler -Version 5.0.97
                    
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.97" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Data.Modeler" Version="5.0.97" />
                    
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.97
                    
#r "nuget: Data.Modeler, 5.0.97"
                    
#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.97
                    
#: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.97
                    
Install as a Cake Addin
#tool nuget:?package=Data.Modeler&version=5.0.97
                    
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.97 24 12/23/2025
5.0.96 92 12/22/2025
5.0.95 484 12/11/2025
5.0.94 449 12/10/2025
5.0.92 782 12/1/2025
5.0.91 534 11/18/2025
5.0.90 233 11/14/2025
5.0.89 220 11/14/2025
5.0.88 334 11/13/2025
5.0.87 311 11/13/2025
5.0.86 309 11/13/2025
5.0.85 246 11/6/2025
5.0.84 207 10/31/2025
5.0.83 310 10/17/2025
5.0.82 215 10/16/2025
5.0.81 225 10/15/2025
5.0.80 253 10/14/2025
5.0.79 228 10/13/2025
5.0.78 272 10/12/2025
5.0.77 293 9/30/2025
5.0.76 218 9/29/2025
5.0.75 191 9/29/2025
5.0.72 455 9/18/2025
5.0.71 319 9/18/2025
5.0.70 367 9/17/2025
5.0.69 354 9/16/2025
5.0.68 225 9/11/2025
5.0.67 217 9/10/2025
5.0.66 231 9/9/2025
5.0.65 383 8/20/2025
5.0.64 197 8/20/2025
5.0.63 204 8/20/2025
5.0.62 183 8/19/2025
5.0.61 198 8/19/2025
5.0.60 228 8/19/2025
5.0.59 213 8/15/2025
5.0.58 363 8/6/2025
5.0.57 306 8/5/2025
5.0.56 279 8/5/2025
5.0.55 270 8/5/2025
5.0.54 317 8/5/2025
5.0.53 244 8/5/2025
5.0.52 149 8/1/2025
5.0.51 273 7/28/2025
5.0.50 249 7/17/2025
5.0.49 201 7/17/2025
5.0.48 299 7/15/2025
5.0.47 194 7/14/2025
5.0.46 209 7/14/2025
5.0.45 248 7/8/2025
5.0.44 593 6/30/2025
5.0.43 202 6/30/2025
5.0.42 203 6/30/2025
5.0.41 231 6/27/2025
5.0.40 257 6/27/2025
5.0.39 199 6/27/2025
5.0.38 199 6/27/2025
5.0.37 187 6/27/2025
5.0.36 236 6/26/2025
5.0.35 223 6/18/2025
5.0.34 388 6/10/2025
5.0.33 172 5/30/2025
5.0.32 193 5/23/2025
5.0.31 325 5/14/2025
5.0.30 179 5/2/2025
5.0.29 240 4/28/2025
5.0.28 218 4/11/2025
5.0.27 240 3/17/2025
5.0.26 199 2/24/2025
5.0.25 224 2/12/2025
5.0.24 340 2/3/2025
5.0.23 243 1/30/2025
5.0.22 220 1/29/2025
5.0.21 186 1/29/2025
5.0.20 196 1/28/2025
5.0.19 224 1/24/2025
5.0.18 207 1/23/2025
5.0.17 181 1/23/2025
5.0.16 251 1/16/2025
5.0.15 194 1/15/2025
5.0.14 212 1/14/2025
5.0.13 191 1/13/2025
5.0.12 207 1/10/2025
5.0.11 204 1/9/2025
5.0.10 165 1/8/2025
5.0.9 259 12/17/2024
5.0.8 215 12/17/2024
5.0.7 251 12/10/2024
5.0.6 211 12/9/2024
5.0.5 294 11/26/2024
5.0.4 258 11/26/2024
5.0.3 196 11/25/2024
5.0.2 252 11/24/2024
5.0.1 202 11/23/2024
5.0.0 196 11/23/2024
4.0.268 222 11/19/2024
4.0.267 191 11/11/2024
4.0.266 188 11/6/2024
4.0.265 195 11/5/2024
4.0.264 187 11/4/2024
4.0.263 225 11/1/2024
4.0.262 189 10/31/2024
4.0.261 205 10/30/2024
4.0.260 193 10/29/2024
4.0.259 199 10/29/2024
4.0.258 212 10/25/2024
4.0.257 187 10/24/2024
4.0.256 215 10/21/2024
4.0.255 202 10/16/2024
4.0.254 198 10/15/2024
4.0.253 209 10/11/2024
4.0.252 193 10/10/2024
4.0.251 184 10/9/2024
4.0.250 179 10/8/2024
4.0.249 215 10/2/2024
4.0.248 220 10/1/2024
4.0.247 192 9/30/2024
4.0.246 218 9/27/2024
4.0.245 190 9/24/2024
4.0.244 194 9/23/2024
4.0.243 186 9/23/2024
4.0.242 252 9/17/2024
4.0.241 248 9/10/2024
4.0.240 202 9/9/2024
4.0.239 222 9/6/2024
4.0.238 226 9/5/2024
4.0.237 201 9/3/2024
4.0.236 205 9/2/2024
4.0.235 207 8/30/2024
4.0.234 213 8/29/2024
4.0.233 229 8/28/2024
4.0.232 218 8/27/2024
4.0.231 210 8/26/2024
4.0.230 220 8/23/2024
4.0.229 221 8/22/2024
4.0.228 211 8/21/2024
4.0.227 220 8/20/2024
4.0.226 205 8/20/2024
4.0.225 243 8/19/2024
4.0.224 254 8/16/2024
4.0.223 230 8/15/2024
4.0.222 251 8/14/2024
4.0.221 192 8/5/2024
4.0.220 189 8/2/2024
4.0.219 233 8/1/2024
4.0.218 179 7/31/2024
4.0.217 225 7/26/2024
4.0.216 194 7/25/2024
4.0.215 160 7/24/2024
4.0.214 203 7/11/2024
4.0.213 180 7/10/2024
4.0.212 187 7/9/2024
4.0.211 209 7/9/2024
4.0.210 193 7/8/2024
4.0.209 201 7/5/2024
4.0.208 224 7/5/2024
4.0.207 194 7/2/2024
4.0.206 195 7/1/2024
4.0.205 236 6/27/2024
4.0.204 238 6/26/2024
4.0.203 211 6/25/2024
4.0.202 232 6/24/2024
4.0.201 1,321 6/19/2024
4.0.200 242 6/18/2024
4.0.199 195 6/17/2024
4.0.198 202 6/14/2024
4.0.197 194 6/13/2024
4.0.196 218 6/12/2024
4.0.195 213 6/3/2024
4.0.194 205 5/31/2024
4.0.193 243 5/30/2024
4.0.192 211 5/29/2024
4.0.191 228 5/27/2024
4.0.190 217 5/27/2024
4.0.189 194 5/23/2024
4.0.188 205 5/22/2024
4.0.187 237 5/21/2024
4.0.186 233 5/20/2024
4.0.185 205 5/17/2024
4.0.184 200 5/16/2024
4.0.183 221 5/15/2024
4.0.182 213 5/8/2024
4.0.181 202 5/7/2024
4.0.180 222 5/6/2024
4.0.179 233 5/3/2024
4.0.178 950 5/2/2024
4.0.177 169 5/1/2024
4.0.176 222 4/30/2024
4.0.175 206 4/29/2024
4.0.174 204 4/29/2024
4.0.173 242 4/25/2024
4.0.172 229 4/24/2024
4.0.171 242 4/16/2024
4.0.170 212 4/15/2024
4.0.169 227 4/12/2024
4.0.168 225 4/12/2024
4.0.167 239 4/11/2024
4.0.166 255 4/10/2024
4.0.165 213 4/9/2024
4.0.164 217 4/8/2024
4.0.163 220 4/1/2024
4.0.162 200 3/29/2024
4.0.161 236 3/28/2024
4.0.160 214 3/26/2024
4.0.159 230 3/23/2024
4.0.158 237 3/22/2024
4.0.157 232 3/21/2024
4.0.156 214 3/18/2024
4.0.155 235 3/15/2024
4.0.154 218 3/14/2024
4.0.153 227 3/13/2024
4.0.152 268 3/11/2024
4.0.151 236 3/8/2024
4.0.150 222 3/7/2024
4.0.149 212 3/6/2024
4.0.148 217 3/5/2024
4.0.147 1,325 3/4/2024
4.0.146 237 3/1/2024
4.0.145 247 2/29/2024
4.0.144 245 2/28/2024
4.0.143 249 2/27/2024
4.0.142 246 2/26/2024
4.0.141 247 2/23/2024
4.0.140 261 2/22/2024
4.0.139 241 2/21/2024
4.0.138 253 2/20/2024
4.0.137 589 2/19/2024
4.0.136 215 2/19/2024
4.0.135 221 2/16/2024
4.0.134 231 2/16/2024
4.0.133 202 2/15/2024
4.0.132 228 2/14/2024
4.0.131 193 2/13/2024
4.0.130 232 2/12/2024
4.0.129 211 2/9/2024
4.0.128 267 2/8/2024
4.0.127 226 2/7/2024
4.0.126 246 2/6/2024
4.0.125 185 2/6/2024
4.0.124 202 2/5/2024
4.0.123 735 2/2/2024
4.0.122 252 2/1/2024
4.0.121 205 2/1/2024
4.0.120 252 1/31/2024
4.0.119 331 1/30/2024
4.0.118 256 1/29/2024
4.0.117 266 1/26/2024
4.0.116 223 1/24/2024
4.0.115 199 1/23/2024
4.0.114 209 1/22/2024
4.0.113 501 1/16/2024
4.0.112 277 1/15/2024
4.0.111 229 1/15/2024
4.0.110 232 1/12/2024
4.0.109 236 1/11/2024
4.0.108 205 1/10/2024
4.0.107 464 1/8/2024
4.0.106 302 1/5/2024
4.0.105 434 12/26/2023
4.0.104 257 12/26/2023
4.0.103 261 12/25/2023
4.0.102 245 12/25/2023
4.0.101 358 12/22/2023
4.0.100 292 12/21/2023
4.0.99 273 12/15/2023
4.0.98 251 12/14/2023
4.0.97 231 12/13/2023
4.0.96 255 12/13/2023
4.0.95 438 12/12/2023
4.0.94 260 12/12/2023
4.0.93 237 12/11/2023
4.0.92 231 12/11/2023
4.0.91 284 12/6/2023
4.0.90 217 12/6/2023
4.0.89 220 12/5/2023
4.0.88 282 12/4/2023
4.0.87 295 11/24/2023
4.0.86 219 11/23/2023
4.0.85 242 11/21/2023
4.0.84 259 11/20/2023
4.0.83 231 11/20/2023
4.0.82 299 11/17/2023
4.0.81 721 11/16/2023
4.0.80 244 11/15/2023
4.0.79 240 11/13/2023
4.0.78 282 11/9/2023
4.0.77 270 11/8/2023
4.0.76 195 11/8/2023
4.0.75 242 11/7/2023
4.0.74 241 11/6/2023
4.0.73 227 11/3/2023
4.0.72 301 11/2/2023
4.0.71 230 11/1/2023
4.0.70 224 11/1/2023
4.0.69 289 10/31/2023
4.0.68 266 10/30/2023
4.0.67 238 10/27/2023
4.0.66 280 10/26/2023
4.0.65 260 10/25/2023
4.0.64 224 10/17/2023
4.0.63 201 10/17/2023
4.0.62 275 10/16/2023
4.0.61 263 10/13/2023
4.0.60 314 10/12/2023
4.0.59 234 10/11/2023
4.0.58 275 10/5/2023
4.0.57 253 10/4/2023
4.0.56 234 9/26/2023
4.0.55 261 9/25/2023
4.0.54 278 9/22/2023
4.0.53 276 9/20/2023
4.0.52 269 9/19/2023
4.0.51 248 9/18/2023
4.0.50 243 9/18/2023
4.0.49 305 9/14/2023
4.0.48 286 9/13/2023
4.0.47 236 9/12/2023
4.0.46 316 9/11/2023
4.0.45 226 9/11/2023
4.0.44 216 9/11/2023
4.0.43 400 9/7/2023
4.0.42 243 9/6/2023
4.0.41 314 9/5/2023
4.0.40 246 9/4/2023
4.0.39 260 9/4/2023
4.0.38 310 9/1/2023
4.0.37 310 8/31/2023
4.0.36 311 8/30/2023
4.0.35 323 8/29/2023
4.0.34 242 8/29/2023
4.0.33 351 8/28/2023
4.0.32 333 8/25/2023
4.0.31 295 8/24/2023
4.0.30 280 8/23/2023
4.0.29 293 8/22/2023
4.0.28 293 8/18/2023
4.0.27 307 8/17/2023
4.0.26 280 8/17/2023
4.0.25 262 8/16/2023
4.0.24 373 8/10/2023
4.0.23 308 8/9/2023
4.0.22 334 8/8/2023
4.0.21 282 8/8/2023
4.0.20 408 8/7/2023
4.0.19 297 8/4/2023
4.0.18 361 8/3/2023
4.0.17 343 8/2/2023
4.0.16 341 7/26/2023
4.0.15 296 7/25/2023
4.0.14 322 7/20/2023
4.0.13 343 7/19/2023
4.0.12 319 7/18/2023
4.0.11 235 7/18/2023
4.0.10 308 7/18/2023
4.0.9 259 7/18/2023
4.0.8 418 7/17/2023
4.0.7 294 7/17/2023
4.0.6 690 1/30/2023
4.0.5 545 1/30/2023
4.0.4 536 1/27/2023
4.0.3 664 12/13/2022
4.0.0 435 12/12/2022
3.0.47 1,697 6/10/2022
3.0.45 1,155 4/20/2022
3.0.44 1,190 1/11/2022
3.0.43 812 1/10/2022
3.0.42 1,281 6/17/2021
3.0.41 938 6/16/2021
3.0.40 884 6/16/2021
3.0.39 677 6/16/2021
3.0.38 1,213 1/7/2021
3.0.37 1,026 12/16/2020
3.0.36 936 12/14/2020
3.0.35 2,608 9/13/2020
3.0.34 1,086 6/19/2020
3.0.33 2,096 5/12/2020
3.0.32 1,631 5/12/2020
3.0.31 1,069 4/28/2020
3.0.30 1,024 4/24/2020
3.0.29 1,005 4/16/2020
3.0.28 1,085 4/16/2020
3.0.27 722 4/15/2020
3.0.26 1,035 4/15/2020
3.0.25 1,086 4/14/2020
3.0.24 788 4/14/2020
3.0.23 1,141 4/10/2020
3.0.22 1,076 4/10/2020
3.0.21 1,120 4/7/2020
3.0.20 2,970 3/26/2020
3.0.19 1,105 3/26/2020
3.0.18 775 3/25/2020
3.0.17 770 3/25/2020
3.0.16 791 3/25/2020
3.0.15 769 3/25/2020
3.0.13 781 3/25/2020
3.0.12 785 3/25/2020
3.0.11 753 3/25/2020
3.0.10 1,329 3/25/2020
3.0.9 1,153 3/22/2020
3.0.8 746 3/22/2020
3.0.7 1,147 3/21/2020
3.0.6 1,778 3/13/2020
3.0.5 808 3/13/2020
3.0.4 1,549 2/28/2020
3.0.3 1,356 2/21/2020
3.0.2 808 2/11/2020
3.0.1 785 2/11/2020
3.0.0 1,992 12/23/2019
2.0.13 832 11/4/2019
2.0.12 886 6/19/2019
2.0.11 857 6/19/2019
2.0.10 1,172 4/17/2019
2.0.9 1,735 2/21/2019
2.0.8 4,321 8/1/2018
2.0.7 1,555 8/1/2018
2.0.6 2,116 6/26/2018
2.0.5 1,469 6/14/2018
2.0.4 2,100 6/1/2018
2.0.3 2,050 5/22/2018
2.0.2 2,624 5/11/2018
2.0.1 2,691 2/13/2018
2.0.0 2,638 1/2/2018
1.0.29 4,278 11/16/2017
1.0.28 1,279 11/16/2017
1.0.27 6,826 10/18/2017
1.0.26 5,031 9/22/2017
1.0.24 1,359 9/22/2017
1.0.23 1,697 9/22/2017
1.0.22 1,359 9/22/2017
1.0.21 1,391 9/22/2017
1.0.19 1,363 9/22/2017
1.0.18 1,358 9/21/2017
1.0.17 2,423 8/4/2017
1.0.16 1,377 7/3/2017
1.0.15 1,393 6/16/2017
1.0.13 1,395 6/16/2017
1.0.12 1,377 6/16/2017
1.0.11 1,384 5/30/2017
1.0.9 1,373 5/25/2017
1.0.8 1,346 5/24/2017
1.0.7 1,377 5/19/2017
1.0.6 1,417 5/17/2017
1.0.4 1,499 4/3/2017
1.0.3 1,511 3/22/2017
1.0.2 1,498 2/2/2017