c# - 单击按钮时从数据库获取随机 ID

标签 c# mysql razor model-view-controller lambda

大家好(我是初学者,所以放轻松)我有这段代码可以搜索我的数据库并显示标题/艺术家,效果很好。我需要创建一个按钮,单击该按钮会从我的数据库中调出一个随机 ID。我环顾四周,但找不到任何有用的东西。试图想出 lamda 表达式或其他东西...... 谢谢

Controller

public ActionResult Play(string searchTitle, string searchArtist, string shuffle)
{
    var media = from s in db.UploadTables select s;

    if (!string.IsNullOrEmpty(searchTitle))
    {
        media = media.Where(m => m.MediaTitle.Contains(searchTitle));
    }

    if (!string.IsNullOrEmpty(searchArtist))
    {
        media = media.Where(m => m.MediaArtist.Contains(searchArtist));
    }

    return View(media);
}

查看

@using (Html.BeginForm())
{
    <p>
        Song Name: @Html.TextBox("searchTitle")    
        <input type="submit" value="Search" />
        Artist: @Html.TextBox("searchArtist")    
        <input type="submit" value="Search" />
        @Html.TextBox("shuffle")    
        <input type="submit" value="Search" />
    </p>
    <hr />
}

最佳答案

Random rand = new Random();
int total = db.UploadTables.Count();
var randomId = db.UploadTables.Skip(rand.Next(total)).First().Id;

Random.Next(Int32 maxValue) 将得到 0 之间的数字和maxValue-1 .

IQueryable<TSource>.Skip(this IQueryable<TSource>, int count) 将跳过count条目。

然后您将 First()其余条目和 tadaa 您可以访问其 Id字段。

显然,这只是一种方法,正如其他人所说,有很多方法可以做到这一点。

关于c# - 单击按钮时从数据库获取随机 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51824399/

相关文章:

C# 无法转换为 'Microsoft.EntityFrameworkCore.DbContextOptions'

c# - 以编程方式将加载项按钮添加到标准工具栏

javascript - 将按钮 ID 从 View 传递给 MVC Controller

javascript - 如何在不刷新页面的情况下显示不同的搜索结果

c# - 可空值还是默认值?

c# - 通过 C# 转义 SQL INSERT INTO 中的特殊字符

mysql - 如何在mysql中添加按新组分组的行?

php - 显示 mysql 随机结果

php - 对同一个表进行多次请求的SQL语句

.net - _ViewStart.cshtml 布局文件在哪里以及如何链接?