gpt4 book ai didi

c# - 将数据库中的字符串与发布的字符串进行比较

转载 作者:太空宇宙 更新时间:2023-11-03 12:52:27 25 4
gpt4 key购买 nike

我有一个数据库,我希望它的一部分(名称)不被重复。我正在尝试检查它是否存在,如果存在则不保存此部分,但无论它是否已经存在,它都会保存。

代码:

var reviewSubject = from c in db.Subject select 

c.SubjectName.ToString().ToLower();
var match = reviewSubject.FirstOrDefaultAsync(stringToCheck => stringToCheck.Equals(model.sub.SubjectName.ToLower()));
model.rev.Created = DateTime.Now;
if (ModelState.IsValid)
{
if ((model.sub.SubjectName.ToLower()).Equals(match))
{
//Do nothing
}
else
{
model.sub.GBU = model.rev.GBU;
db.Subject.Add(model.sub);
}
}

最佳答案

您没有使用 await来自 reviewSubject.FirstOrDefaultAsync 的结果的关键字返回 Task<T> .因此,您正在检查任务是否等于字符串,这是错误的。

正确的用法是:

var match = await reviewSubject.FirstOrDefaultAsync(stringToCheck => stringToCheck.Equals(model.sub.SubjectName.ToLower()));`

如果您不想使用 async您可以使用同步方法:

var match = reviewSubject.FirstOrDefault(stringToCheck => stringToCheck.Equals(model.sub.SubjectName.ToLower()));`

关于c# - 将数据库中的字符串与发布的字符串进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35059930/

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