Entity framework 规范化模式中的代码优先关系问题
Entity framework code first relationship issue in a normalized schema
这是一个简单的问题。
我设计了一个具有规范化数据库架构的项目。
我先用代码。
我有一个 table 叫做 JOBS。我还有一个 table 叫做 status。我打算给工作一个状态。状态必须是用户设置的,因此它位于您可以添加的 table 中。例如,工作可以是 "booked"、"parts to be ordered"、"invoiced"。等等
作为 POCO class 我的 table 状态如下:
statusID (PK)
statusName
description.
在 JOBS table 中,我有一个名为 statusID 的列作为非空外键。 EG
jobsID (PK)
clientID (FK)
statusID (FK)
jobTypeID (FK)
。
.
我的问题是,我可以这样做吗?我可以拥有多个带有名称和描述的 statelite tables(客户、状态、工作类型)吗?在 JOBS table 中有一列以 satelite tables 主键作为主键列名称?
我很困惑这代表什么关系(一对一 - 一对多)以及是否可以使用一个 table 的主键作为 JOBS table 中的外键当使用 Code First 接近这个时。在我完成的教程中它并不太清楚。
最重要的是,我想要一份特定的工作并能够为其附加特定的状态,并在视图中显示具有该状态名称和描述的工作...
希望有人能清理泥巴..
西蒙
我认为你想做的是简单的one-to-many关系。
你已经定义了这个,对我来说一切都很好。
但您也可以将导航 属性 添加到您的状态 class 以使这种 one-to-many 关系更加清晰:
public List<Job> Jobs { get; set; }
这是一个简单的问题。
我设计了一个具有规范化数据库架构的项目。
我先用代码。
我有一个 table 叫做 JOBS。我还有一个 table 叫做 status。我打算给工作一个状态。状态必须是用户设置的,因此它位于您可以添加的 table 中。例如,工作可以是 "booked"、"parts to be ordered"、"invoiced"。等等
作为 POCO class 我的 table 状态如下:
statusID (PK)
statusName
description.
在 JOBS table 中,我有一个名为 statusID 的列作为非空外键。 EG
jobsID (PK)
clientID (FK)
statusID (FK)
jobTypeID (FK)
。 .
我的问题是,我可以这样做吗?我可以拥有多个带有名称和描述的 statelite tables(客户、状态、工作类型)吗?在 JOBS table 中有一列以 satelite tables 主键作为主键列名称?
我很困惑这代表什么关系(一对一 - 一对多)以及是否可以使用一个 table 的主键作为 JOBS table 中的外键当使用 Code First 接近这个时。在我完成的教程中它并不太清楚。
最重要的是,我想要一份特定的工作并能够为其附加特定的状态,并在视图中显示具有该状态名称和描述的工作...
希望有人能清理泥巴..
西蒙
我认为你想做的是简单的one-to-many关系。 你已经定义了这个,对我来说一切都很好。
但您也可以将导航 属性 添加到您的状态 class 以使这种 one-to-many 关系更加清晰:
public List<Job> Jobs { get; set; }