如何使用 linq 查询与外键关联的值,并在列表视图中显示

本文关键字:列表 视图 显示 查询 linq 何使用 关联 | 更新日期: 2023-09-27 18:30:54

我有一个数据库和两个表,Male Female两个表都有一个int primary key with the name ID两个表都有一个外键,两个表的外键都在一个名为 RecommendFemale 的单独表中。

男桌:

雄:

[dbo].[Male] (
    [ID]            INT           IDENTITY (1, 1) NOT NULL,
    [Image]         VARCHAR (MAX) NULL,
    [Name]          VARCHAR (50)  NULL,
    [Age]           INT           NULL,
    CONSTRAINT [PK_Female] PRIMARY KEY CLUSTERED ([ID] ASC)
);

女性:

 [dbo].[Female] (
        [ID]            INT           IDENTITY (1, 1) NOT NULL,
        [Image]         VARCHAR (MAX) NULL,
        [Name]          VARCHAR (50)  NULL,
        [Age]           INT           NULL,
        CONSTRAINT [PK_Female] PRIMARY KEY CLUSTERED ([ID] ASC)
    );

推荐:

[dbo].[RecommendFemale] (
    [ID]          INT IDENTITY (1, 1) NOT NULL,
    [RecommendTo] INT NOT NULL,
    [Recommend]   INT NOT NULL,
    CONSTRAINT [PK_RecommendFemale] PRIMARY KEY CLUSTERED ([ID] ASC),
    CONSTRAINT [FK_Table_1_Female] FOREIGN KEY ([RecommendTo]) REFERENCES [dbo].[Female] ([ID]),
    CONSTRAINT [FK_Table_1_Male] FOREIGN KEY ([Recommend]) REFERENCES [dbo].[Male] ([ID])
);
SuggestTo 是Female表 ID 的外键

,Recommendation Male表 ID 的外键值。

我的问题是我想在列表视图中显示与外键关联的value

示例:RecommendRecommendTo列中有多个外键值 Female,recommend列列表具有 male 表的值。

我想将与RecommendTo关联的值显示在列表视图中,即ID 4在外键表中有多个值,我想将与该单个数字关联的值显示在列表视图中,该怎么做?

如何使用 linq 查询与外键关联的值,并在列表视图中显示

因此,您要为 [男性] 或 [女性] 表中的特定记录选择所有建议?

如果不使用 LINQ TO SQL,而是执行动态查询或编写存储过程,它将如下所示(在 [Female] 表中查找记录建议):

SELECT
    m.ID
    ,m.IMAGE
    ,m.NAME
    ,m.AGE
FROM [dbo].[Male] m
INNER JOIN [dbo].[RecommendFemale] rf ON rf.Recommend = m.ID
WHERE ft.RecommendTo = %FEMALE_ID%