C# 不能等于实体框架数据的“&”
本文关键字:数据 amp 框架 不能 于实体 实体 | 更新日期: 2023-09-27 17:55:42
public int getPartijId(string naam)
{
Partij partij = null;
try
{
partij = repository.Partij.Single<Partij>(p => p.naam.Equals(naam));
}
catch (InvalidOperationException)
{
}
return partij.partijID;
}
我想通过比较数据库中的名称与 linq 语句来从我们的数据库中获取某个值 (CD&V),但我得到了一个空值......
对于其余值,此方法有效,但我怀疑问题是名称/字符串中的"&"
也许试试你的Partij仓库是否都是partijen
partij = repository.Partij.First(p => p.naam.Equals(naam));
据我所知,代码返回 null 的唯一方法是匹配对象上的partijID
为 null。
其他选项会引发空引用异常
Partij partij = null;
try
{
// this may throw an exception because there may be more or less than one item matching your predicate
partij = repository.Partij.Single<Partij>(p => p.naam.Equals(naam));
}
catch (InvalidOperationException)
{
// this is hiding that exception
}
// this will throw another null reference exception because the first call didn't actually set the partij variable
return partij.partijID;
附言捕获异常然后完全忽略它几乎从来都不是一个好主意。
你的桌子是如何设计的?naam 字段是否具有唯一的约束?您是否 100% 确定在 naam 字段中只有一行值为"CD&V"?我的猜测是你得到了多行,然后吞下异常,所以 partij 保持空。
异常消息到底是什么?
partijID 在数据库中实际上是空的吗?