行の親にアクセスしようとしていますが、常に null が返されます。
2 つのテーブルがあります。1 つは駅の説明で、もう 1 つは駅が互いに「近い」かどうかを示します。
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])
データセットの場合は 2 つのテーブルを追加しました。現在、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 をデータセットにロードして、必要なときに行を取得することはできますか?
ありがとう