creating database tables automatically in mvc 5? - sql-server

I am working in mvc 5, visual studio 2013 and i am totally new to it. I made a new application and it has it's local db attached with it.
I just want to make my database in sql server management studio but i dont want to make database manually. i just want to create the required tables in sql server mgmt studio automatically and then i will change the connection strings manually.
I need to know the way of doing this, please let me know the steps of doing the same ?
Need guidance. Thanks a lot.

You can go with Entity Framework. You will need to choose Model first because you want to create your DB from SQL Management Studio.
You'll find a lot of tutorials related to this approach.
Getting Started with Entity Framework 6 Database First using MVC 5

Related

Cannot find ado.net entity data model in visual studio 2022

I want to start a new project in ASP.NET core MVC web application. In the past I'm used to starting with the code, I create the code and I create the dbContext and I make the migration of the data Add-Migration and Update_Migration and finally I can get my database. This time I want to start with the database first, I loaded SSMS(SQL server management studio) and created the database and after I want to generate the classes from the database but It didn't work, I cannot find the ado.net entity data model in visual studio 2022.
I tried to solve this problem by myself, I added these packages(in the picture below) but also it didn't work
Can you please suggest what I am doing wrong?

How to change database without losing data?

I developed a website using EF 4.1 code first,Mvc3 ,Sql Sever 2008 r2, and deployed it.
The database on the host got filled with critical data and it still grows.
Now I want to add new columns to different tables and also add new tables.
Even if I back up my SQL and bring it to the development environment and using base.seed() or even create a script using SQL server management I will lose data and I have tried different way and I couldn't find a way which I wouldn't lose data.
I looked at code first migration and it didn't solve my problem. My team added some tables to database using SQL server management and if I use code first migration it wont pick the changes that occurs manually. someone suggested that using reverse engineering tools that would create code first from database but this also makes many unwanted code.
What is the best way or best practices for changing database using code first approach?
Migrations will help you. You just need to script current database and recreate it in your environment. Then you need to add empty initial migration to use your current database as a starting point. You will then add all new tables and columns and let migrations do their job. Sure there can be problems because you have manually changed the database in the production but that is your team's failure in the first place because it violates code first development approach. If this was supposed to happen you should not use code first approach.
As alternative simply develop new version of your application with new tables and columns, create database from your application in your development environment and use database tools for schema compare either in VS 2010 (Premium or Ultimate) or in another commercial tool like Red Gate Compare. This will be able to create diff SQL script for upgrading old DB schema to a new one.
For EF 4.1 you have the Code First Migrations available as a Nuget-package, that let's you migrate you database as your models change.
As of EF 4.3, Migrations is now included in Entity Framework.
The ADO.NET team has blogged about how to get started with EF 4.3 Migrations.

Local Database in Silverlight

I want to integrate a local database into Windows Phone 7 project. The DB should be allready filled with values from manual input.
Therefore I use a wizard to create a local Database in WPF.
I can create tables, set their values and fill in them, but I could not find the way how to refere columns from different tables.
Is it possible using UI wizard in Visual Studio or only possible by coding the datacontext?
It is possible what you ask and the easiest way to do it is Linq to Sql.
Database Management in Mango
There is an easier way to do it but i think ms doesn't support that, you create a new windows WPF project and there you add a LinQ to SQL database model there you can create your database and then just copy it to your wp7 project and include it in the solution.
Then you will have to comment out or delete the two constructors which are not supported by the WP7 and your are ready to use your database.
The two constructors to comment out use System.Data.IDbConnection connection
This solution is explained in detail in Corrado's Blog

Reading data SQL server database

I have created an SQL server database and saved data using vb.net code.
How can I read that file's data, the way we do in Access?
Thanks
Furqan
Since you are using VB .Net to save data, you can use VB .Net to read that data as well.
This link can give you a brief guideline:
http://www.fryan0911.com/2009/05/vbnet-tutorial-sql-database-basics.html
On the other hand, if you just want to see what data is on your database, or manage your database (tables, relations, procedures....) you can use SQL Server Management Studio (google it, and you will be able to find a lot of material/download links), the express edition is free of charge:
Create an account on the sql server (a sql login, or windows login, if you don't have one already). In you VB application, create a new page and throw a gridview onto it. click the little aarow thing and follow the insstructions

Database Versioning Using Visual Studio

In the SO podcast episode 54 Jeff talked about using Visual Studio to save all the database objects to individual files. This sounded like just what my team needed to better implement database schema changes into TFS and I told my lead about it. He thinks it's a great idea to.
Unfortunately, so far I've had no luck getting this to work for me. One of my problems is that I don't have SQL Server installed on my local box (dept policy). I'm obviously doing something wrong.
Can someone give me a rundown of the steps or provide a decent link?
Thanks!
1) Create a connection to the database in Server Explorer.
2) Right-click on the connection and select Publish to provider...
3) Next, Script to file, Next, Types of data to publish should be Schema (unless you need some initial data), finish.
4) Add script to the project and check into source control.
He was referring to a project type in VS that supports managing databases, including (if you set it up correctly), versioning your database publishes.
Check out this article on Database Projects in VS
You want to use the GDR 2. (Sometimes called Data Dude)
This allows for a completely offline solution. You don't need to have SQL Server installed on your machine for this to work. (In fact the GDR is the first version that does not care if you have SQL Server installed.)
I use the GDR for my db (a team of 3 devs and 2 testers) and it works GREAT!
Here is a link for the GDR 2 release:
http://blogs.msdn.com/vstsdb/archive/2009/04/21/microsoft-visual-studio-team-system-2008-database-edition-gdr-r2.aspx
And this is a link to the actual bits:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=bb3ad767-5f69-4db9-b1c9-8f55759846ed
The basic use is to import from an existing DB and server. (You will probably want a server project and 1 or more DB Projects)
You can then make your changes off line. When you are ready to send you changes back to the DB you can delploy (make sure you set up your deploy options first as I think the default is to drop the db and re-deploy). You can also do a Data->Schema Compare in Visual Studio and comapre your project to your database then get a script of changes from the diff output.
It takes a bit of work, but it really allows great source control and is easy once you get the hang of it. (I have my db auto deploy in my night time build twice a week.)
If you're importing an existing database schema, its important to get the right database project. You should likely be using "Database Projects\SQL Server 2005 Wizard".
Visual Studio requires a database connection it can use to create temporary copies of the databases it is working with. It sounds like this is the issue. Do you have SQLExpress on your local box? Use that as the deployment target (server name would be .\sqlexpress if . does not work).
As an alternative, grab update GDR 2 for Visual Studio. Allegedly, it allows one to work with database projects without using a local instance of sql server to deploy temporary working copies of the database.

Resources