使用DataSet时从DataRow访问关系

时间:2012-09-27 10:17:39

标签: c# linq-to-dataset

我正在尝试访问行的父级,但它总是返回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])

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

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,以便在需要时获取该行?

由于

0 个答案:

没有答案