Linq to sql LINQ to SQL不会';是否无法基于关系生成集合?
我在两个实体(e1和e2)之间有一个关系,e1有一个e2的集合,但是我在(e2和e3)之间有一个类似的关系,但是e2不包含e3的集合,为什么会发生这种情况?有什么可以让我更容易理解的吗Linq to sql LINQ to SQL不会';是否无法基于关系生成集合?,linq-to-sql,Linq To Sql,我在两个实体(e1和e2)之间有一个关系,e1有一个e2的集合,但是我在(e2和e3)之间有一个类似的关系,但是e2不包含e3的集合,为什么会发生这种情况?有什么可以让我更容易理解的吗 编辑:我刚刚注意到e1和e2之间的关系是牢固的,e2和e3之间的关系是虚线的,这是什么原因?与此相关吗?FK_合同的设置如下: 使用检查添加约束[FK_e2_e1]外键([E1Id])更改表[dbo]。[e2]引用[dbo]。[e1]([Id]) 使用检查添加约束[FK_e3_e2]外键([E2Id])更改表[d
编辑:我刚刚注意到e1和e2之间的关系是牢固的,e2和e3之间的关系是虚线的,这是什么原因?与此相关吗?FK_合同的设置如下: 使用检查添加约束[FK_e2_e1]外键([E1Id])更改表[dbo]。[e2]引用[dbo]。[e1]([Id]) 使用检查添加约束[FK_e3_e2]外键([E2Id])更改表[dbo]。[e3]引用[dbo]。[e2]([Id])
这就是你想要的吗?使用此设置,一切正常。 1) LINQ到SQL查询,2)DB表,3)VS.NET2008中的LINQ到SQL数据模型 1-LINQ到SQL查询
DataClasses1DataContext db = new DataClasses1DataContext();
var results = from threes in db.tableThrees
join twos in db.tableTwos on threes.fk_tableTwo equals twos.id
join ones in db.tableOnes on twos.fk_tableOne equals ones.id
select new { ones, twos, threes };
2-数据库脚本
--Table One
CREATE TABLE tableOne(
[id] [int] IDENTITY(1,1) NOT NULL,
[value] [nvarchar](50) NULL,
CONSTRAINT [PK_tableOne] PRIMARY KEY CLUSTERED
( [id] ASC ) WITH (
PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY];
--Table Two
CREATE TABLE tableTwo(
[id] [int] IDENTITY(1,1) NOT NULL,
[value] [nvarchar](50) NULL,
[fk_tableOne] [int] NOT NULL,
CONSTRAINT [PK_tableTwo] PRIMARY KEY CLUSTERED
( [id] ASC ) WITH (
PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY];
ALTER TABLE tableTwo WITH CHECK
ADD CONSTRAINT [FK_tableTwo_tableOne]
FOREIGN KEY([fk_tableOne])
REFERENCES tableOne ([id]);
ALTER TABLE tableTwo CHECK CONSTRAINT [FK_tableTwo_tableOne];
--Table Three
CREATE TABLE tableThree(
[id] [int] IDENTITY(1,1) NOT NULL,
[value] [nvarchar](50) NULL,
[fk_tableTwo] [int] NOT NULL,
CONSTRAINT [PK_tableThree] PRIMARY KEY CLUSTERED
([id] ASC ) WITH (
PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY];
ALTER TABLE tableThree WITH CHECK
ADD CONSTRAINT [FK_tableThree_tableTwo]
FOREIGN KEY([fk_tableTwo])
REFERENCES tableTwo ([id]);
ALTER TABLE tableThree CHECK CONSTRAINT [FK_tableThree_tableTwo];
3-Visual Studio中的LINQ到SQL数据模型
您是让它工作起来了,还是仍然有问题?