0

我从头开始,从来没有先通过模型创建数据库。

到目前为止,我有几张桌子。

**Departments**
departmentID INT PK
name string
description string
owner string

Navigation Properties -> Functions (FK on departmentID)

**Functions**
functionID int PK
departmentID int FK
name string
description string
owner string

Navigation Properties -> Departments (FK on depaertmentID)

我正在添加一个名为Process.

**Process**
proceddID int PK
name string
description string
owner string

我是否只创建从Processto的关联Functions?如果我确实创建了从Process到的关联,Functions它会像这样链接吗?

部门.职能.流程?

或者我需要从Processto FunctionsAND to创建一个关联Departments吗?

如果需要此信息。

部门可以有很多功能

职能必须附属于一个部门,但可以有许多流程。

进程必须附加到一个函数,但可以有许多过程。

Visual Studio 2010 SQL Server 2008 实体框架 5.0

4

1 回答 1

1

所以你有Departments ⎯ᗕ Functions ⎯ᗕ Processes.

FunctionProcess(Process有一个外键)之间有一个一对多的关联就足够了Function。反向关系 ( Function.Process) 不是必需的,但是否需要它取决于您的业务逻辑。

流程和部门之间的关联是多余的,因此不推荐。

要从部门开始获取流程,您可以执行以下操作:

from d in context.Departments
from f in d.Functions
from p in f.Processes
select ....

或者

context.Departments
       .SelectMany(d => d.Functions)
       .SelectMany(f => f.Processes)
       .Select(...)
于 2013-04-30T21:11:30.220 回答