我有一个查询代码,用于检查是否允许工程师从数据库中执行某些操作
if (isAllowed)
{
...do something
}
我尝试在IF语句中使用isAllowed
ToString=="{IsAllowed = False}"
错误:
如果我使用ToString(),那么我会看到
为避免使用{{1}},我该如何解决此错误?
答案 0 :(得分:5)
您有匿名类型。我认为你不需要它:
var isAllowed = context.Engineers
.Where(b => b.Engineer1 == Environment.UserName)
.First().IsAllowed;
如果您出于某种原因想要使用它,您可以:
if (isAllowed.IsAllowed)
答案 1 :(得分:2)
Select(x => new { x.IsAllowed }).First()
的结果是匿名类型的对象,其中包含一个名为IsAllowed
的字段。您可以使用点表达式访问它,但它看起来不太好:
if (isAllowed.IsAllowed) { // <<== This reads as a repetition
...
}
如果您想要直接bool
,请删除new
:
Select(x => x.IsAllowed).First()