c# - LINQ-to-SQL 关系/关联

标签 c# sql linq-to-sql

自从我使用 Linq-to-Sql 以来已经有一段时间了,但我又开始尝试了。我遇到了一个问题,我希望能够以我以前认为的某种方式访问​​数据,但我现在不确定。

如果我有以下三个 SIMPLE 表

Person
   - ID

Section
   - ID

PersonSections
   - PersonID
   - SectionID

PersonSections 表只是对 Person/Section 对象的查找。因此它是一对多的。一个人可以在多个部门。

我希望能够通过以下方式从 Linq-to-Sql DataContext 调用它。

 MyDataContext db = new MyDataContext();

 var person = db.Sections.First(x => ...).Persons.First(x => x...) etc

 or

 var section = db.Persons.First(x => ...).Sections(x => x...) etc

我正在努力寻找更多关于这些关系的文档,因为我在这方面有点新手,所以请不要批评。

最佳答案

您提到了人与节之间的一对多关系。

LINQ2SQL 对关系表的处理不是很好,因此最初我建议将部分 ID 设为人员表的外键。

还有这个帖子

http://www.codeproject.com/Articles/39104/LINQ-to-SQL-Many-to-Many-Relationships

这解释了如何建立多对多关系。这可能是相同的,然后您可以在您的应用程序中添加逻辑来阻止双向关系。

关于c# - LINQ-to-SQL 关系/关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13945287/

相关文章:

c# - 在 LongListSelector 中使用 Wrappanel

c# - 如何提高使用 Pdfium 的图像质量

linq-to-sql - LINQ 到 SQL

c# - 访问魔兽世界军械库WebClient安全报错

c# - 如何通过 Ctrl+Shift+d 使用 registerHotKeys 函数

c# - CLR Stored Procedure需要一个Sql Server执行线程

sql - 有没有办法强制 Oracle 在加入访问后评估过滤器?

mySQL 的 PHP 结果不显示输入值内的引号

linq-to-sql - Linq 到 SQL : Left Join to MAX aggregate

c# - 访问类