用于处理关系/联结表插入的 Web 服务器控件

Posted

技术标签:

【中文标题】用于处理关系/联结表插入的 Web 服务器控件【英文标题】:Web server controls to handle relationships/juntion table insert 【发布时间】:2012-11-01 02:14:57 【问题描述】:

我在使用 asp.net c# 插入/编辑表单时遇到问题。

假设您有一张员工表。现在每个员工都可以分配一个或多个类别。每个类别都有子类别,并且可以为每个类别为用户分配一个或多个子类别。

表结构:

EmployeeTable
id
Fname
Lname
City

CategoryTable
id
CategoryName

SubCategoryTable
id
SubCategoryName

JuntionTable
EmployeeTable_id
CategoryTable_id
SubCategoryTable_id

插入/编辑网络表单是我苦苦挣扎的地方。 EmployeeTable 日期将是文本框,并且由于一个 Employee 可以在多个 Category 中,并且在该 Category 中每个可以有多个 SubCategories,您如何设置您的服务器控件来处理这个问题?树视图控件可以用父/子/节点处理这个吗?

【问题讨论】:

【参考方案1】:

如果您试图坚持使用内置控件来执行插入操作,那么您将需要在 SQL 语句中执行大部分逻辑以进行插入。

您可以在任何 TreeView、FormView 或大多数其他类似容器中执行此操作。您需要将每个控件连接到它应该发送到的参数,并且可能编写一些逻辑来根据其他选定的值填充嵌套控件。根据您构建数据库的方式,您可能还需要使用嵌套视图,每个视图都有自己的插入逻辑。

如果每个表都已经创建了自己的 SQL 存储过程,那么我可能会使用嵌套的视图控件。

【讨论】:

以上是关于用于处理关系/联结表插入的 Web 服务器控件的主要内容,如果未能解决你的问题,请参考以下文章

复杂的数据库关系(联结表)

SQL Server:如何从只有 ID 的联结表中获取数据?

查询联结表中FK引用的表中的其他字段

PostgreSQL。在联结表中插入值

管理联结表的最佳方法是啥? (删除并插入)

如何在实体关系图中表示联结表?