Hey guys!
Ofcourse this is possible, I would however recommend you track your changes using SQL Scripts. Those scripts contain all changes you've made in your development environment. If you run those scripts, your database will be reproduced, which sounds like exactly what you want.
To create a new database, and run the scripts, you may want to use SQL Server Management Objects (SMO)
ServerConnection serverConnection = new ServerConnection();
serverConnection.ConnectionString = ConnectionString;
serverConnection.Connect();
Microsoft.SqlServer.Management.Smo.Server sqlServer = new Microsoft.SqlServer.Management.Smo.Server(serverConnection);
Database createdDatabase = new Database();
createdDatabase.Name = DatabaseName;
createdDatabase.Parent = sqlServer;
createdDatabase.Create();
databaseCreated = true;
serverConnection.Disconnect();
Good luck!