Reputation: 41138
I'm designing a very simple database for my application and it's configured like this:
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
Now the gist of this question is, an Area can have many Document; and a Document can belong to many Area.
This I'm told, creates a third relationship table, correct?
What would go in that table and would this be able to work if I'm going to be using Linq-to-SQL as the only tool for accessing my database.
Upvotes: 1
Views: 121
Reputation: 102408
Yes... You'd have a table called AreaDocuments with columns called AreaID and DocumentId. This kind of relationship is M x N where M instances can be associated to N instances and vice-versa.
Sample data:
AreaId DocumentId
1 1
1 2
2 1
2 2
How to handle it in code:
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);
This link How to implement a many-to-many relationship using Linq to Sql? can provide more information about using this kind of relationship in LINQ to SQL.
Upvotes: 1