У меня есть этот фрагмент кода, который выбирает новую информацию из базы данных в моем проекте C#, но я хочу, чтобы он делал это только в том случае, если имя не является определенным именем, поэтому вот код
public List<Info> GetInfo(int id)
{
var cacheKey = "allinfo-" + id;
var info = SoftCache.GetData<List<info>>(cacheKey);
if (info != null)
return info;
using (var db = DB.InfoModel)
{
info = (from j in db.info_list()
select new Info
{
InfoName = j.info_name,
InfoId = j.info_id,
InfoValue = j.info_value,
}).ToList();
}
SoftCache.Add(cacheKey, info, new TimeSpan(0, 0, 5), new TimeSpan(0, 1, 0));
return info;
}
Я хочу что-то вроде
if (j.info_name != "BadName"){
select new Info
{
InfoName = j.info_name,
InfoId = j.info_id,
InfoValue = j.info_value,
}).ToList();
}





Здесь вам нужно добавить оператор где:
info = (from j in db.info_list()
where j.info_name != "BadName"
select new Info
{
InfoName = j.info_name,
InfoId = j.info_id,
InfoValue = j.info_value,
}).ToList();
Вы можете использовать где для фильтрации информации следующим образом: -
info = (from j in db.info_list()
where j.info_name != "BadName"
select new Info
{
InfoName = j.info_name,
InfoId = j.info_id,
InfoValue = j.info_value,
}).ToList();
Или с помощью метода расширения Where
var goodNames =
db.info_list().Where(info => info.info_name != "Badname")
.Select(info => new Info
{
InfoName = info.info_name,
InfoId = info.info_id,
InfoValue = info.info_value,
})
.ToList();
Понятия не имею, чего ты хочешь. Вы хотите отфильтровать по
info_name, чтобы возвращались только записи! = "BadName"? или вы хотите вернуть этот список только в том случае, если в таблице нет плохого имени (что предлагает вашif)?