Data.Modeler 5.0.55

There is a newer version of this package available.
See the version list below for details.
dotnet add package Data.Modeler --version 5.0.55
                    
NuGet\Install-Package Data.Modeler -Version 5.0.55
                    
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.55" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Data.Modeler" Version="5.0.55" />
                    
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.55
                    
#r "nuget: Data.Modeler, 5.0.55"
                    
#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.55
                    
#: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.55
                    
Install as a Cake Addin
#tool nuget:?package=Data.Modeler&version=5.0.55
                    
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.83 213 10/17/2025
5.0.82 189 10/16/2025
5.0.81 193 10/15/2025
5.0.80 227 10/14/2025
5.0.79 204 10/13/2025
5.0.78 234 10/12/2025
5.0.77 270 9/30/2025
5.0.76 197 9/29/2025
5.0.75 173 9/29/2025
5.0.72 432 9/18/2025
5.0.71 296 9/18/2025
5.0.70 341 9/17/2025
5.0.69 331 9/16/2025
5.0.68 195 9/11/2025
5.0.67 182 9/10/2025
5.0.66 199 9/9/2025
5.0.65 355 8/20/2025
5.0.64 163 8/20/2025
5.0.63 170 8/20/2025
5.0.62 150 8/19/2025
5.0.61 162 8/19/2025
5.0.60 197 8/19/2025
5.0.59 177 8/15/2025
5.0.58 333 8/6/2025
5.0.57 277 8/5/2025
5.0.56 246 8/5/2025
5.0.55 239 8/5/2025
5.0.54 297 8/5/2025
5.0.53 220 8/5/2025
5.0.52 127 8/1/2025
5.0.51 217 7/28/2025
5.0.50 228 7/17/2025
5.0.49 175 7/17/2025
5.0.48 271 7/15/2025
5.0.47 172 7/14/2025
5.0.46 182 7/14/2025
5.0.45 224 7/8/2025
5.0.44 565 6/30/2025
5.0.43 179 6/30/2025
5.0.42 179 6/30/2025
5.0.41 208 6/27/2025
5.0.40 236 6/27/2025
5.0.39 172 6/27/2025
5.0.38 178 6/27/2025
5.0.37 164 6/27/2025
5.0.36 218 6/26/2025
5.0.35 192 6/18/2025
5.0.34 360 6/10/2025
5.0.33 147 5/30/2025
5.0.32 163 5/23/2025
5.0.31 297 5/14/2025
5.0.30 154 5/2/2025
5.0.29 220 4/28/2025
5.0.28 198 4/11/2025
5.0.27 222 3/17/2025
5.0.26 174 2/24/2025
5.0.25 203 2/12/2025
5.0.24 321 2/3/2025
5.0.23 223 1/30/2025
5.0.22 196 1/29/2025
5.0.21 163 1/29/2025
5.0.20 177 1/28/2025
5.0.19 198 1/24/2025
5.0.18 188 1/23/2025
5.0.17 160 1/23/2025
5.0.16 228 1/16/2025
5.0.15 175 1/15/2025
5.0.14 190 1/14/2025
5.0.13 169 1/13/2025
5.0.12 187 1/10/2025
5.0.11 184 1/9/2025
5.0.10 145 1/8/2025
5.0.9 241 12/17/2024
5.0.8 195 12/17/2024
5.0.7 232 12/10/2024
5.0.6 188 12/9/2024
5.0.5 274 11/26/2024
5.0.4 242 11/26/2024
5.0.3 174 11/25/2024
5.0.2 233 11/24/2024
5.0.1 181 11/23/2024
5.0.0 172 11/23/2024
4.0.268 204 11/19/2024
4.0.267 174 11/11/2024
4.0.266 172 11/6/2024
4.0.265 173 11/5/2024
4.0.264 166 11/4/2024
4.0.263 203 11/1/2024
4.0.262 173 10/31/2024
4.0.261 180 10/30/2024
4.0.260 171 10/29/2024
4.0.259 178 10/29/2024
4.0.258 187 10/25/2024
4.0.257 170 10/24/2024
4.0.256 192 10/21/2024
4.0.255 183 10/16/2024
4.0.254 176 10/15/2024
4.0.253 190 10/11/2024
4.0.252 172 10/10/2024
4.0.251 170 10/9/2024
4.0.250 166 10/8/2024
4.0.249 193 10/2/2024
4.0.248 199 10/1/2024
4.0.247 174 9/30/2024
4.0.246 201 9/27/2024
4.0.245 169 9/24/2024
4.0.244 177 9/23/2024
4.0.243 166 9/23/2024
4.0.242 227 9/17/2024
4.0.241 221 9/10/2024
4.0.240 183 9/9/2024
4.0.239 200 9/6/2024
4.0.238 202 9/5/2024
4.0.237 181 9/3/2024
4.0.236 185 9/2/2024
4.0.235 190 8/30/2024
4.0.234 192 8/29/2024
4.0.233 208 8/28/2024
4.0.232 199 8/27/2024
4.0.231 187 8/26/2024
4.0.230 207 8/23/2024
4.0.229 202 8/22/2024
4.0.228 192 8/21/2024
4.0.227 203 8/20/2024
4.0.226 189 8/20/2024
4.0.225 225 8/19/2024
4.0.224 228 8/16/2024
4.0.223 214 8/15/2024
4.0.222 234 8/14/2024
4.0.221 180 8/5/2024
4.0.220 170 8/2/2024
4.0.219 212 8/1/2024
4.0.218 164 7/31/2024
4.0.217 204 7/26/2024
4.0.216 176 7/25/2024
4.0.215 137 7/24/2024
4.0.214 189 7/11/2024
4.0.213 167 7/10/2024
4.0.212 170 7/9/2024
4.0.211 193 7/9/2024
4.0.210 177 7/8/2024
4.0.209 184 7/5/2024
4.0.208 204 7/5/2024
4.0.207 180 7/2/2024
4.0.206 180 7/1/2024
4.0.205 211 6/27/2024
4.0.204 217 6/26/2024
4.0.203 191 6/25/2024
4.0.202 214 6/24/2024
4.0.201 1,304 6/19/2024
4.0.200 221 6/18/2024
4.0.199 175 6/17/2024
4.0.198 182 6/14/2024
4.0.197 178 6/13/2024
4.0.196 196 6/12/2024
4.0.195 195 6/3/2024
4.0.194 186 5/31/2024
4.0.193 224 5/30/2024
4.0.192 194 5/29/2024
4.0.191 212 5/27/2024
4.0.190 194 5/27/2024
4.0.189 180 5/23/2024
4.0.188 186 5/22/2024
4.0.187 221 5/21/2024
4.0.186 214 5/20/2024
4.0.185 192 5/17/2024
4.0.184 186 5/16/2024
4.0.183 201 5/15/2024
4.0.182 199 5/8/2024
4.0.181 186 5/7/2024
4.0.180 199 5/6/2024
4.0.179 217 5/3/2024
4.0.178 934 5/2/2024
4.0.177 155 5/1/2024
4.0.176 204 4/30/2024
4.0.175 189 4/29/2024
4.0.174 188 4/29/2024
4.0.173 220 4/25/2024
4.0.172 212 4/24/2024
4.0.171 223 4/16/2024
4.0.170 197 4/15/2024
4.0.169 205 4/12/2024
4.0.168 206 4/12/2024
4.0.167 220 4/11/2024
4.0.166 230 4/10/2024
4.0.165 197 4/9/2024
4.0.164 204 4/8/2024
4.0.163 201 4/1/2024
4.0.162 180 3/29/2024
4.0.161 215 3/28/2024
4.0.160 191 3/26/2024
4.0.159 212 3/23/2024
4.0.158 214 3/22/2024
4.0.157 214 3/21/2024
4.0.156 194 3/18/2024
4.0.155 214 3/15/2024
4.0.154 205 3/14/2024
4.0.153 211 3/13/2024
4.0.152 249 3/11/2024
4.0.151 217 3/8/2024
4.0.150 205 3/7/2024
4.0.149 197 3/6/2024
4.0.148 203 3/5/2024
4.0.147 1,310 3/4/2024
4.0.146 220 3/1/2024
4.0.145 229 2/29/2024
4.0.144 229 2/28/2024
4.0.143 234 2/27/2024
4.0.142 231 2/26/2024
4.0.141 230 2/23/2024
4.0.140 242 2/22/2024
4.0.139 215 2/21/2024
4.0.138 237 2/20/2024
4.0.137 568 2/19/2024
4.0.136 192 2/19/2024
4.0.135 202 2/16/2024
4.0.134 212 2/16/2024
4.0.133 184 2/15/2024
4.0.132 210 2/14/2024
4.0.131 181 2/13/2024
4.0.130 219 2/12/2024
4.0.129 194 2/9/2024
4.0.128 251 2/8/2024
4.0.127 211 2/7/2024
4.0.126 228 2/6/2024
4.0.125 165 2/6/2024
4.0.124 189 2/5/2024
4.0.123 718 2/2/2024
4.0.122 230 2/1/2024
4.0.121 187 2/1/2024
4.0.120 231 1/31/2024
4.0.119 315 1/30/2024
4.0.118 239 1/29/2024
4.0.117 246 1/26/2024
4.0.116 205 1/24/2024
4.0.115 184 1/23/2024
4.0.114 194 1/22/2024
4.0.113 485 1/16/2024
4.0.112 254 1/15/2024
4.0.111 215 1/15/2024
4.0.110 218 1/12/2024
4.0.109 210 1/11/2024
4.0.108 187 1/10/2024
4.0.107 450 1/8/2024
4.0.106 280 1/5/2024
4.0.105 419 12/26/2023
4.0.104 241 12/26/2023
4.0.103 243 12/25/2023
4.0.102 229 12/25/2023
4.0.101 340 12/22/2023
4.0.100 268 12/21/2023
4.0.99 254 12/15/2023
4.0.98 230 12/14/2023
4.0.97 211 12/13/2023
4.0.96 234 12/13/2023
4.0.95 424 12/12/2023
4.0.94 237 12/12/2023
4.0.93 218 12/11/2023
4.0.92 211 12/11/2023
4.0.91 276 12/6/2023
4.0.90 211 12/6/2023
4.0.89 204 12/5/2023
4.0.88 272 12/4/2023
4.0.87 287 11/24/2023
4.0.86 214 11/23/2023
4.0.85 233 11/21/2023
4.0.84 244 11/20/2023
4.0.83 217 11/20/2023
4.0.82 289 11/17/2023
4.0.81 708 11/16/2023
4.0.80 235 11/15/2023
4.0.79 230 11/13/2023
4.0.78 268 11/9/2023
4.0.77 262 11/8/2023
4.0.76 189 11/8/2023
4.0.75 229 11/7/2023
4.0.74 223 11/6/2023
4.0.73 218 11/3/2023
4.0.72 293 11/2/2023
4.0.71 220 11/1/2023
4.0.70 210 11/1/2023
4.0.69 281 10/31/2023
4.0.68 257 10/30/2023
4.0.67 230 10/27/2023
4.0.66 270 10/26/2023
4.0.65 252 10/25/2023
4.0.64 219 10/17/2023
4.0.63 190 10/17/2023
4.0.62 267 10/16/2023
4.0.61 250 10/13/2023
4.0.60 300 10/12/2023
4.0.59 225 10/11/2023
4.0.58 266 10/5/2023
4.0.57 244 10/4/2023
4.0.56 224 9/26/2023
4.0.55 251 9/25/2023
4.0.54 270 9/22/2023
4.0.53 265 9/20/2023
4.0.52 259 9/19/2023
4.0.51 239 9/18/2023
4.0.50 231 9/18/2023
4.0.49 293 9/14/2023
4.0.48 273 9/13/2023
4.0.47 224 9/12/2023
4.0.46 308 9/11/2023
4.0.45 218 9/11/2023
4.0.44 208 9/11/2023
4.0.43 386 9/7/2023
4.0.42 232 9/6/2023
4.0.41 301 9/5/2023
4.0.40 236 9/4/2023
4.0.39 250 9/4/2023
4.0.38 302 9/1/2023
4.0.37 300 8/31/2023
4.0.36 296 8/30/2023
4.0.35 313 8/29/2023
4.0.34 231 8/29/2023
4.0.33 339 8/28/2023
4.0.32 322 8/25/2023
4.0.31 288 8/24/2023
4.0.30 270 8/23/2023
4.0.29 287 8/22/2023
4.0.28 283 8/18/2023
4.0.27 296 8/17/2023
4.0.26 268 8/17/2023
4.0.25 253 8/16/2023
4.0.24 363 8/10/2023
4.0.23 292 8/9/2023
4.0.22 319 8/8/2023
4.0.21 275 8/8/2023
4.0.20 397 8/7/2023
4.0.19 286 8/4/2023
4.0.18 349 8/3/2023
4.0.17 325 8/2/2023
4.0.16 331 7/26/2023
4.0.15 286 7/25/2023
4.0.14 314 7/20/2023
4.0.13 333 7/19/2023
4.0.12 307 7/18/2023
4.0.11 226 7/18/2023
4.0.10 298 7/18/2023
4.0.9 252 7/18/2023
4.0.8 407 7/17/2023
4.0.7 278 7/17/2023
4.0.6 671 1/30/2023
4.0.5 524 1/30/2023
4.0.4 512 1/27/2023
4.0.3 641 12/13/2022
4.0.0 414 12/12/2022
3.0.47 1,674 6/10/2022
3.0.45 1,130 4/20/2022
3.0.44 1,163 1/11/2022
3.0.43 783 1/10/2022
3.0.42 1,253 6/17/2021
3.0.41 910 6/16/2021
3.0.40 856 6/16/2021
3.0.39 649 6/16/2021
3.0.38 1,182 1/7/2021
3.0.37 990 12/16/2020
3.0.36 906 12/14/2020
3.0.35 2,572 9/13/2020
3.0.34 1,048 6/19/2020
3.0.33 2,062 5/12/2020
3.0.32 1,595 5/12/2020
3.0.31 1,043 4/28/2020
3.0.30 994 4/24/2020
3.0.29 975 4/16/2020
3.0.28 1,053 4/16/2020
3.0.27 692 4/15/2020
3.0.26 1,007 4/15/2020
3.0.25 1,054 4/14/2020
3.0.24 753 4/14/2020
3.0.23 1,111 4/10/2020
3.0.22 1,043 4/10/2020
3.0.21 1,087 4/7/2020
3.0.20 2,939 3/26/2020
3.0.19 1,074 3/26/2020
3.0.18 742 3/25/2020
3.0.17 734 3/25/2020
3.0.16 760 3/25/2020
3.0.15 737 3/25/2020
3.0.13 750 3/25/2020
3.0.12 756 3/25/2020
3.0.11 726 3/25/2020
3.0.10 1,295 3/25/2020
3.0.9 1,120 3/22/2020
3.0.8 715 3/22/2020
3.0.7 1,112 3/21/2020
3.0.6 1,744 3/13/2020
3.0.5 779 3/13/2020
3.0.4 1,514 2/28/2020
3.0.3 1,325 2/21/2020
3.0.2 775 2/11/2020
3.0.1 753 2/11/2020
3.0.0 1,960 12/23/2019
2.0.13 798 11/4/2019
2.0.12 853 6/19/2019
2.0.11 825 6/19/2019
2.0.10 1,136 4/17/2019
2.0.9 1,705 2/21/2019
2.0.8 4,261 8/1/2018
2.0.7 1,494 8/1/2018
2.0.6 2,026 6/26/2018
2.0.5 1,379 6/14/2018
2.0.4 2,010 6/1/2018
2.0.3 1,961 5/22/2018
2.0.2 2,533 5/11/2018
2.0.1 2,599 2/13/2018
2.0.0 2,549 1/2/2018
1.0.29 4,216 11/16/2017
1.0.28 1,218 11/16/2017
1.0.27 6,766 10/18/2017
1.0.26 4,964 9/22/2017
1.0.24 1,302 9/22/2017
1.0.23 1,639 9/22/2017
1.0.22 1,296 9/22/2017
1.0.21 1,327 9/22/2017
1.0.19 1,305 9/22/2017
1.0.18 1,301 9/21/2017
1.0.17 2,365 8/4/2017
1.0.16 1,318 7/3/2017
1.0.15 1,335 6/16/2017
1.0.13 1,336 6/16/2017
1.0.12 1,313 6/16/2017
1.0.11 1,324 5/30/2017
1.0.9 1,313 5/25/2017
1.0.8 1,287 5/24/2017
1.0.7 1,321 5/19/2017
1.0.6 1,362 5/17/2017
1.0.4 1,437 4/3/2017
1.0.3 1,449 3/22/2017
1.0.2 1,435 2/2/2017