Créer une à une relation en utilisant entity framework première base de données

Dans EF Premier Code, nous pouvons créer une relation de code comme ceci:

public class User
{
public int UserID {get;set;}
public string Name {get;set;}
public int UserDetailID {get;set;}

public UserDetail Detail {get;set;}
}

public class UserDetail
{
public int UserDetailID {get;set;}
public string Address {get;set:}
public int UserID {get;set;}

public User User {get;set;}

}

Cependant, lorsque j'ai essayé de créer la même relation en utilisant EF première Base de données dans visual studio 2012, je suis dans le pétrin. Voici mon code:

CREATE TABLE [dbo].[Users] (
[UserID]                 UNIQUEIDENTIFIER CONSTRAINT [DF_Users_UserID] DEFAULT (newid()) NOT NULL,
[UserDetailID]                 UNIQUEIDENTIFIER NOT NULL,
[Name]                      NVARCHAR (50)    NOT NULL,
CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED ([UserID] ASC),
CONSTRAINT [FK_Users_UserDetails] FOREIGN KEY ([UserDetailID]) REFERENCES [UserDetails]([UserDetailID])
);

CREATE TABLE [dbo].UserDetails] (
[UserDetailID]     UNIQUEIDENTIFIER CONSTRAINT [DF_UserDetails_UserDetailID] DEFAULT (newid()) NOT NULL,
[UserID]           UNIQUEIDENTIFIER NOT NULL,
[Address]             NVARCHAR(100) NOT NULL,
CONSTRAINT [PK_UserDetails] PRIMARY KEY CLUSTERED ([UserDetailID] ASC),
CONSTRAINT [FK_UserDetails_Users] FOREIGN KEY ([UserID]) REFERENCES [dbo].[Users] ([UserID])

Le message d'erreur est quelque chose comme

"Error  2   SQL01767: Foreign key 'FK_Users_UserDetails' references invalid table 'UserDetails'.    

Je pense que la raison de cette erreur probablement être quand il essaie de faire référence à la clé étrangère "UserDetailID", il constate qu'il n'a pas encore été créé. Mais je ne sais pas comment résoudre ce problème, et je ne sais même pas c'est la façon de le faire, je sais faire des one-to-one relation avec EF est délicat, ou certaines personnes ont même dit que c'est impossible. Quelqu'un peut-il me donner une suggestion? Merci.

Mise à jour: Juste pour clarifier mon cas, je suis en train de concevoir la base de données dans visual studio 2012 projet de base de données, puis de les publier sur le serveur SQL server, par la suite, créer/mettre à jour mon .fichier edmx à partir de la base de données dans SQL server. Je ne suis pas sûr de savoir comment créer un one-to-one relation que l'EF peut reconnaître correctement et de créer les classes .fichier edmx.

tu veux dire à l'aide de Modèle EF d'Abord, parce que la Première Base de données est utilisé lorsque vous disposez déjà d'une base de données ?
vous avez besoin de faire deux tables avant de vous essayez d'insérer la clé étrangère.
Veuillez voir ma mise à jour. Merci.
vous ne devriez pas être à l'aide de la Base de données tout d'Abord, vous devriez être en utilisant le Premier Modèle, il a été spécialement conçu pour ces situations.

OriginalL'auteur yan | 2013-06-22