[英]How do I get a value from a foreign key to populate a list with an associated value?
[英]How do I use a foreign key to get a value from another list?
我有 2 個用外鍵連接的表,如下所示:
CREATE TABLE [dbo].[Rooms] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[Name] NVARCHAR (50) NULL,
[Size] NVARCHAR (50) NULL,
[Utilities] NVARCHAR (50) NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
和
CREATE TABLE [dbo].[Booking] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[RoomId] INT NOT NULL,
[Date] DATE NOT NULL,
[TimeFrom] TIME (7) NOT NULL,
[TimeTo] TIME (7) NOT NULL,
[UserName] NVARCHAR (50) NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_Booking_RoomId] FOREIGN KEY ([RoomId]) REFERENCES [dbo].[Rooms] ([Id])
);
如何使用外鍵從“房間”的名稱列中獲取值? 我嘗試過使用 ElementAt,如下所示:
@foreach (var booking in bookings)
{
<tr>
<td>@rooms.ElementAt(booking.RoomId).Name</td>
<td>@booking.Date</td>
<td>@booking.TimeFrom - @booking.TimeTo</td>
<td>@booking.UserName</td>
</tr>
}
但這不起作用。 如果 RoomId 列的值為 1,我會從 Id 為 2 的 Rooms 表中獲取名稱。
正如 Lith 所建議的,我將代碼更改為:
public async Task<List<Booking>> GetBookingsAsync()
{
return await _context.Booking.ToListAsync();
}
至:
public async Task<List<Booking>> GetBookingsAsync()
{
return await _context.Booking.Include(b => b.Room).ToListAsync();
}
這成功了!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.