将公司产品分组到不同的包中以创建销售订单

时间:2012-01-05 07:13:13

标签: asp.net asp.net-mvc-3 sql-server-2008 c#-4.0 crm

我正在使用ASP.NET MVC 3(C#.NET)和SQL Server 2008开发CRM系统。

系统将有一个产品表,系统的一个功能是允许用户将产品分组到不同的包中。这样,他们只需将包添加到销售订单,与该包关联的所有产品将自动添加到销售订单。

用户应该可以通过选择“显示所有产品”或按组查看来查看所有产品。

如何为此特定功能设计数据库?

1 个答案:

答案 0 :(得分:1)

您需要三个表格:

CREATE TABLE Products
(
ProductId int identity primary key,
[all other columns related to product]
)
GO
CREATE TABLE Groups
(
GroupId int identity primary key,
[all other columns related to group]
)
GO

CREATE TABLE GroupOfProducts
(
ProductId int NOT NULL REFERENCES Products(ProductId) ON DELETE CASCADE,
GroupId int NOT NULL REFERENCES Groups(GroupId) ON DELETE CASCADE,
PRIMARY KEY (ProductId, GroupId)
)

然后使用它们构建应用程序中所需的所有内容。

如果产品可以属于唯一的组,则GroupOfProducts表中不需要,只需在Products表中添加一列

GroupId int NULL REFERENCES Groups(GroupId),