我有父/子表关系
ParentTable
ParentID Int, Identity
ParentDescription VarChar
ChildTable
ParentID Int
ChildCode VarChar
ChildDescription VarChar
ParentTable.ParentID is a PK
ChildTable.ParentID is a FK to ParentTable.ParentID
ChildTable.ParentID + ChildTable.ChildCode is a PK
我已将上述内容添加为linq数据引用和&这种关系在设计师中展示。但是,当我尝试使用子表列时,它们不会显示在IDE intellisense
中var x = from y in db.ParentTable
select new
{
y.ParentDescription,
code = y.ChildTable....(Only the lamda functions are shown in intellisense here)
};
儿童桌子没有智能感知器。如果我输入.ChildDescription我收到错误“不包含'ChildDescription'的定义”
我大概错过了一些东西。
答案 0 :(得分:1)
这是因为它是一对多关系,而您的ChildTable
属性是所有相关孩子的集合 - 它不是单个孩子。如果您想选择ParentDescription
,ChildDescription
对请尝试:
var x = from y in db.ParentTable
from x in y.ChildTable
select new
{
y.ParentDescription,
code = x.ChildDescription
};
编辑:
您也可以执行此操作以获取ParentDescription
以及所有相关ChildDescriptions
的集合:
var x = from y in db.ParentTable
select new
{
y.ParentDescription,
codes = y.ChildTable.Select(x => x.ChildDescription)
};