gpt4 book ai didi

c# - 在 C# 中使用 Entity Framework 搜索数据​​库

转载 作者:行者123 更新时间:2023-12-04 01:46:20 24 4
gpt4 key购买 nike

我在下面有一段代码可以正常工作,但我希望得到其他结果。此代码显示数据库表中与搜索条件匹配的第一行。

userName tbl = new userName();

bool flag = db.userName.Where(x => x.name == txtName.Text || x.City==txtCity.Text).Any();

if (flag)
{
tbl = db.userName.Where(x => x.name == txtName.Text || x.City==txtCity.Text).First();
userNameBindingSource.DataSource = tbl;
}
else
{
MessageBox.Show("This record does not exist in the database.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

但是如果我有多行符合搜索条件怎么办。我想在结果列表中显示所有这些,而不仅仅是第一个符合条件的。

我试过了,但出了点问题:

tbl = db.userName.Where(x => x.name == txtName.Text || x.City==txtCity.Text).All();

我应该如何改进上面的代码来实现这一点?

最佳答案

如果您想取回项目列表,您可以在查询结束时使用 LINQ .ToList()。

List<UserName> tbl = db.UserNames.Where(x => x.Name == txtName.Text || x.City == txtCity.Text).ToList();

这将评估您使用 DBContext 构建的 IQueryable。 ToList 将返回您的实体列表。您也可以使用 ToArray :)

.All() 用于验证枚举中的所有项目是否与您的表达式匹配。示例:

.All(x=> x.Contains("text")).

关于c# - 在 C# 中使用 Entity Framework 搜索数据​​库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43326347/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com