Во-первых, у вас нет двух первичных ключей на вашем столе.Вы можете иметь только один первичный ключ (отсюда и имя первичный).Похоже, у вас есть составной первичный ключ, что означает ключ, состоящий из нескольких столбцов.
Я не уверен, какую проблему вы пытаетесь решить, но этоКажется, что он извлекает все строки TableChild для данного ключа TableParent.Это должно быть что-то вроде этого:
db.TableParent
.Single(parent => parent.ParentKey1 == key1 && parent.ParentKey2 == key2)
.TableConnectors.Select(connector => connector.TableChild)
Если ваши таблицы правильно сопоставлены в конструкторе Linq-to-Sql, вам не нужно вручную их объединять - это то, что Linq-to-Sqlгенерация кода делает для вас.
Например, когда у вас есть TableConnector
, вы сможете получить для него TableChild
строк, используя что-то вроде этого
TableConnector t = db.TableConnectors.First();
List<TableChilds> tableChilds = tableConnector.TableChilds.ToList();