1

我正在尝试访问一行的父级,但它总是返回 null。

我有两张桌子,一张描述一个车站,另一张告诉车站是否彼此“接近”。

CREATE TABLE [dbo].[GlobalStations] (
    [GlobalStationId] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
    ....
)

CREATE TABLE [dbo].[NearStations] (
    [OriginalStationId] [int] NOT NULL,
    [ToleratedStationId] [int] NOT NULL,
    ...
)

在 SQL Server 上设置约束以确保数据一致。

ALTER TABLE [dbo].[NearStations]  WITH CHECK ADD  CONSTRAINT [FK_NearStations_Original] FOREIGN KEY([OriginalStationId])
REFERENCES [dbo].[GlobalStations] ([GlobalStationId])

ALTER TABLE [dbo].[NearStations]  WITH CHECK ADD  CONSTRAINT [FK_NearStations_Tolerated] FOREIGN KEY([ToleratedStationId])
REFERENCES [dbo].[GlobalStations] ([GlobalStationId])

如果是数据集,我已经添加了这两个表,现在当我有一个 NearStation 行时,我正在尝试访问 GlobalStation。

var nearStationsTA = new NearStationsTableAdapter()
var stations = nearStationsTA.GetData();
var st = stations[0];
var tid = st.ToleratedStationId;
var global = st.GlobalStationsRowByFK_NearStations_Tolerated; // Always NULL

我希望生成的代码能够进行某种延迟加载,但显然它没有这样做。

如何强制代码自行加载?我是否可以强制数据集加载我使用的所有 GlobalStation)以便在需要时拥有该行?

谢谢

4

0 回答 0