I faced this type of problem when working with Sql Server Management Studio. After many days of googling and experiments, i finally found an issue.
NB: You ought to firstly create a drop and create table script for this table, if not you will not have your table
1-First create only yours tables with theirs coresponding foreign keys.
2-Create a visual diagram with these table (Sql express-Databases-Databasename-DataBase Diagram-Right click on it and select new database diagram)
3-Add the required datatables on diagram and create the relation between these datatables with corresponding foreign keys added during the creation of tables
4-Then saved your Database
In the case that you have forget to add a given field in a datatable, you can easily drop and create your datatables, to do this, follow these steps:
1-Open the Database diagram of the corresponding database
2-delete all the relationships which exist between the old table to which you want to add some field and others tables
3-then delete the corresponding table from diagram(right click on the table , then select delete table from the datatable)
4-Save the diagram (Ctrl +S)
5-go to the table that you want to drop and create
6-Right click on the table and select( Script table as then select drop and create then go to new Query editor windows), this will script your table in new table, at this time you can modify it to your need, exemple with and old and new same table
Old table
USE [DatabaseName]
GO
/****** Object: Table [dbo].[Administrateur] Script Date: 10/11/2016 2:06:04 PM ******/
DROP TABLE [dbo].[Administrateur]
GO
/****** Object: Table [dbo].[Administrateur] Script Date: 10/11/2016 2:06:04 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Administrateur](
[AdministrateurID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](max) NOT NULL,
[Surname] [nvarchar](max) NULL,
[Phone] [nvarchar](max) NOT NULL,
[Username] [nvarchar](max) NOT NULL,
[Password] [nvarchar](max) NOT NULL,
[Sexe] [nvarchar](max) NOT NULL,
CONSTRAINT [PK_Administrateur] PRIMARY KEY CLUSTERED
(
[AdministrateurID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
Now the NEW SAME TABLE WITH 3 NEW FIELDS(Email, Image and Salt)
USE [DatabaseName]
GO
/****** Object: Table [dbo].[Administrateur] Script Date: 10/11/2016 2:06:04 PM ******/
DROP TABLE [dbo].[Administrateur]
GO
/****** Object: Table [dbo].[Administrateur] Script Date: 10/11/2016 2:06:04 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Administrateur](
[AdministrateurID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](max) NOT NULL,
[Surname] [nvarchar](max) NULL,
[Phone] [nvarchar](max) NOT NULL,
[Email] [nvarchar](max) NOT NULL,
[Username] [nvarchar](max) NOT NULL,
[Password] [nvarchar](max) NOT NULL,
[Image] [nvarchar](max) NOT NULL,
[Sexe] [nvarchar](max) NOT NULL,
[Salt] [nvarchar](max) NOT NULL,
CONSTRAINT [PK_Administrateur] PRIMARY KEY CLUSTERED
(
[AdministrateurID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
Then in the page of the modified Datatable, Press Execute. It will not execute for the first time and will write some errors encountered, but don't care and just press Execute in second time. At this time, it will execute and write the success message at the bottom of the document.Then select the database and click on Refresh (or press F5), he will update your Database's tables in some computer or you will need to restart the program before seing the updates in others computers(I don't know why, so don't ask me to explain).
Go back now to the diagram and dd the updated table and then connect these(this) table(s) to the tables which has any relation with it.
Hope that this will save the time of someones.
I don