从数据库创建一个 Id 列表。 C#
creating a list of Id's from database. C#
我正在尝试生成一个随机 ID 号,因此当用户单击一个按钮时,它会重定向到一个随机艺术家。我能够做到,并且它与下面的代码配合得很好。
var artists = _context.Artists;
var totalArtists = artists.Count();
Random randomArtistNumber = new Random();
int randomArtistID = randomArtistNumber.Next(1, totalArtists + 1);
if (button.Equals("btnArtist"))
{
return RedirectToAction("Details", "ArtistModels", new { id = randomArtistID.ToString() });
}
这里的问题是,如果用户删除了一位艺术家,那么我的 ID 号将不再存在于上面创建的随机列表中。我将如何着手创建艺术家 Table 中所有艺术家 ID 的列表<>?最好从活动 ID 列表中选择一个随机数
以下艺术家模特
public class ArtistModel
{
[Key]
public int ArtistID { get; set; }
public string ArtistName { get; set; }
public string CountryOfOrigin { get; set; }
public int SubgenreID { get; set; }
public SubgenreModel Subgenre { get; set; }
public ICollection<AlbumModel> Albums { get; set; }
}
我猜你正在使用 Entity Framework?
您应该可以通过执行此操作从您的艺术家那里获取 ID 列表。
var artistIds = artists.Select(a => a.Id).ToList();
要正确执行此操作,您需要确保始终从上下文中加载所有艺术家。
如果你的随机函数有一个限制可能会更好,比如从前 200 位艺术家中随机 select 之类的。
既然你已经有了艺术家,你实际上可以做的是随机找一个艺术家,这和你有的没什么不同
类似于:
int randomArtistIndex = randomArtistNumber.Next(1, totalArtists);
var artist = artists[randomArtistIndex]
然后
return RedirectToAction("Details", "ArtistModels", new { id = artist.ArtistID.ToString() });
我正在尝试生成一个随机 ID 号,因此当用户单击一个按钮时,它会重定向到一个随机艺术家。我能够做到,并且它与下面的代码配合得很好。
var artists = _context.Artists;
var totalArtists = artists.Count();
Random randomArtistNumber = new Random();
int randomArtistID = randomArtistNumber.Next(1, totalArtists + 1);
if (button.Equals("btnArtist"))
{
return RedirectToAction("Details", "ArtistModels", new { id = randomArtistID.ToString() });
}
这里的问题是,如果用户删除了一位艺术家,那么我的 ID 号将不再存在于上面创建的随机列表中。我将如何着手创建艺术家 Table 中所有艺术家 ID 的列表<>?最好从活动 ID 列表中选择一个随机数
以下艺术家模特
public class ArtistModel
{
[Key]
public int ArtistID { get; set; }
public string ArtistName { get; set; }
public string CountryOfOrigin { get; set; }
public int SubgenreID { get; set; }
public SubgenreModel Subgenre { get; set; }
public ICollection<AlbumModel> Albums { get; set; }
}
我猜你正在使用 Entity Framework?
您应该可以通过执行此操作从您的艺术家那里获取 ID 列表。
var artistIds = artists.Select(a => a.Id).ToList();
要正确执行此操作,您需要确保始终从上下文中加载所有艺术家。
如果你的随机函数有一个限制可能会更好,比如从前 200 位艺术家中随机 select 之类的。
既然你已经有了艺术家,你实际上可以做的是随机找一个艺术家,这和你有的没什么不同
类似于:
int randomArtistIndex = randomArtistNumber.Next(1, totalArtists);
var artist = artists[randomArtistIndex]
然后
return RedirectToAction("Details", "ArtistModels", new { id = artist.ArtistID.ToString() });