我正在为我的应用程序设计一个非常简单的数据库,它的配置如下:
Employee
Carnet
Name
LastName
Area
Name
Document
ID
Employee (FK)
Project (FK)
Project
ID
Company (FK)
Title
Company
Name
CEO (FK)
NIT
Person
Carnet
Name
Lastname
现在这个问题的要点是,区域可以有多个文档; 文档可以属于许多区域。
我被告知,创建第三个关系表,对吗?
如果我将使用Linq-to-SQL作为访问我的数据库的唯一工具,那么该表中的内容是否能够正常工作。
答案 0 :(得分:1)
是的......您将拥有一个名为AreaDocuments的表,其中包含名为AreaID和DocumentId的列。这种关系是M x N,其中M个实例可以与N个实例相关联,反之亦然。
示例数据:
AreaId DocumentId
1 1
1 2
2 1
2 2
如何在代码中处理它:
Document document1 = new Document();
document1.Id = 1;
document1.Title = "Whatever";
Document document2 = new Document();
document2.Id = 2;
document2.Title = "Whatever";
Area area1 = new Area();
area1.Documents.Add(document1);
area1.Documents.Add(document2);
Area area2 = new Area();
area2.Documents.Add(document1);
area2.Documents.Add(document2);
此链接How to implement a many-to-many relationship using Linq to Sql?可以提供有关在LINQ to SQL中使用此类关系的更多信息。