0

我正在编写查询以在 SQL Server 2008 R2 中创建数据库。我计划在 mvc3 应用程序中将它与实体框架一起使用

我有用户、游戏和高分。我想要做的是:

我想在用户和游戏之间建立多对多的关系。

每个用户可以有多个游戏,每个游戏可以有多个用户。

每个关系用户游戏有 1 个高分。

到目前为止,我创建了用户、游戏、高分表:

CREATE TABLE Users
(
    UserId INT IDENTITY(1,1),
    FirstName VARCHAR(64) NOT NULL,
    LastName VARCHAR(64) NOT NULL,
    Email VARCHAR(200) NOT NULL,
    CreatedDate DateTime NULL,
    PhoneNumber VARCHAR(32) NULL,
    Password VARCHAR(64),
    CONSTRAINT pk_users_userid PRIMARY KEY(UserId)
)
CREATE TABLE Games
(
    GameId INT IDENTITY(1,1),
    Url VARCHAR(64) NOT NULL,
    CONSTRAINT pk_gamess_gameid PRIMARY KEY(GameId)
)
CREATE TABLE Highscores
(
    HighscoreId INT IDENTITY(1,1),
    Value INT NOT NULL,
    CONSTRAINT pk_surveyors_surveyorid PRIMARY KEY(HighscoreId)
)   

创建多对多用户游戏关系并给每个关系一个高分的最佳方法是什么?我应该创建第四张表来保存关系吗?如果我这样做,我将能够在 MVC3 应用程序中使用带有实体框架的数据库,还是会使它复杂化?

谢谢

附加说明:我计划在 MVC 3 Web 应用程序中将此数据库与实体框架一起使用。

4

1 回答 1

0
CREATE TABLE Users (
     UserId INT IDENTITY(1,1),
     FirstName VARCHAR(64) NOT NULL,
     LastName VARCHAR(64) NOT NULL,
     Email VARCHAR(200) NOT NULL,
     CreatedDate DateTime NULL,
     PhoneNumber VARCHAR(32) NULL,
     Password VARCHAR(64),
     CONSTRAINT pk_users_userid PRIMARY KEY(UserId)
)

CREATE TABLE Games (
   GameId INT IDENTITY(1,1),
   Url VARCHAR(64) NOT NULL,
   CONSTRAINT pk_gamess_gameid PRIMARY KEY(GameId)
)

CREATE TABLE Highscores (
   HighscoreId INT IDENTITY(1,1),
   UserID Int,
   GameID Int,
   Value INT NOT NULL,
   CONSTRAINT pk_surveyors_surveyorid PRIMARY KEY(HighscoreId)
) 

ALTER TABLE [dbo].[Highscores]  ADD  CONSTRAINT [FK_Highscores_Games] FOREIGN KEY([GameID])
ALTER TABLE [dbo].[Highscores]  ADD  CONSTRAINT [FK_Highscores_Users] FOREIGN KEY([UserID])
于 2012-05-23T05:42:25.063 回答