如何使用sql创建零或一对多关系

时间:2018-06-06 17:59:54

标签: sql .net entity-framework database-design relationship

我在现有应用程序中由EntityFramework生成此data model但我想在我的数据库中创建具有相同关系的相同表。

我成功地在学生学生地址之间建立了关系(一到零或一>,并使用以下正确的查询:

ObjectMapper

我的问题是考虑这个data model如何在标准学生之间建立关系(零或一对多)表。

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

您执行此操作的方式与将此实现为零或一个关系的方式相同。

到目前为止,您在2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.ConfiguredTaskAwaitableStudentAddress中有一个外键。每个学生没有强制执行一个地址。 (您可以使用`StudentAddress.StudentId'上的唯一索引来执行此操作。)

所以做同样的事情。在Student表中有一个StandardId字段,您将有许多学生为零或一个标准关系。

答案 1 :(得分:-1)

您需要第三个存储关系的表:

CREATE TABLE StandardStudenRelation (
    ID INT IDENTITY(1,1) PRIMARY KEY
    , StandardID INT NOT NULL
    , StudentID INT NOT NULL
    , CONSTRAINT Student_ID_FK FOREIGN KEY(StudentId) 
        REFERENCES Standard(StudentId)  
    , CONSTRAINT Standard_ID_FK FOREIGN KEY(StandardID) 
        REFERENCES Standard(StandardId) 
    );