C# 我是Lambda的新手 public TEntity GetSingle(Func谓词) { 尝试 { var teste=_context.Set().Single(谓词); } 捕获(例外) { 返回null; } 返回_context.Set().Single(谓词); } Func expressionPerfil=Perf=>Perf.IdUsuario==memo.IdUsuario///和Perf.IdTipoPerfil(MaxValue)//和Perf.Name.lenght>3; 添加(“Permissao”,vw_usuarioPerfilAtributoRepository.GetSingle(expressionPerfil.IdTipoPerfil);
简单的查询问题,但在lambda中,我不知道做“和”+“MaxValue”+其他“WHERE”的好方法。所有示例仅用于一个WHERE。在C# 我是Lambda的新手 public TEntity GetSingle(Func谓词) { 尝试 { var teste=_context.Set().Single(谓词); } 捕获(例外) { 返回null; } 返回_context.Set().Single(谓词); } Func expressionPerfil=Perf=>Perf.IdUsuario==memo.IdUsuario///和Perf.IdTipoPerfil(MaxValue)//和Perf.Name.lenght>3; 添加(“Permissao”,vw_usuarioPerfilAtributoRepository.GetSingle(expressionPerfil.IdTipoPerfil);,c#,lambda,C#,Lambda,简单的查询问题,但在lambda中,我不知道做“和”+“MaxValue”+其他“WHERE”的好方法。所有示例仅用于一个WHERE。在lambda中,您可以使用&&(for AND)和|for(OR)简单地添加任何条件 Func expressionPerfil=Perf=> Perf.IdUsuario==memo.IdUsuario&& 性能IdTipoPerfil(最大值)和 性能名称长度>3; 在Lambda中,您可以使用&&(For And)和|For(OR)简单地添加任何条件 Fu
lambda
中,您可以使用&&
(for AND)和|
for(OR)简单地添加任何条件
Func expressionPerfil=Perf=>
Perf.IdUsuario==memo.IdUsuario&&
性能IdTipoPerfil(最大值)和
性能名称长度>3;
在Lambda
中,您可以使用&&
(For And)和|
For(OR)简单地添加任何条件
Func expressionPerfil=Perf=>
Perf.IdUsuario==memo.IdUsuario&&
性能IdTipoPerfil(最大值)和
性能名称长度>3;
这是常规的C#代码,因此请使用&&
运算符:
Func<vw_UsuarioPerfilAtributo, bool> expressionPerfil = Perf =>
Perf.IdUsuario == memo.IdUsuario &&
Perf.IdTipoPerfil(MaxValue) &&
Perf.Name.lenght > 3;
Func expressionPerfil=
Perf=>Perf.IdUsuario==memo.IdUsuario&&
性能IdTipoPerfil(最大值)&&
性能名称长度>3;
注意:lenght
可能应该是length
或length
这是常规的C代码,所以使用&
操作符:
Func<vw_UsuarioPerfilAtributo, bool> expressionPerfil = Perf =>
Perf.IdUsuario == memo.IdUsuario &&
Perf.IdTipoPerfil(MaxValue) &&
Perf.Name.lenght > 3;
Func expressionPerfil=
Perf=>Perf.IdUsuario==memo.IdUsuario&&
性能IdTipoPerfil(最大值)&&
性能名称长度>3;
注意:
lenght
可能应该是length
或length
我不确定您的问题,但在where子句中,您可以在多个条件下使用&
。对于当前语句,请尝试将和替换为&。(与c#相同)
Func expressionPerfil=
Perf=>Perf.IdUsuario==memo.IdUsuario
&&性能IdTipoPerfil(最大值)
&&性能名称长度>3;
我不确定您的问题,但在where子句中,您可以在多个条件下使用&
。对于当前语句,请尝试将和替换为&。(与c#相同)
Func expressionPerfil=
Perf=>Perf.IdUsuario==memo.IdUsuario
&&性能IdTipoPerfil(最大值)
&&性能名称长度>3;
lamda是简单的内联声明函数
声明如下:()=>{}
还有一个简短的形式:()=>()=>{}//lambda返回一个不做任何事情的lambda
在lambda中,可以使用作用域中的每个局部变量
我不知道你到底想做什么,但我希望我能帮上忙x
关于nil。lamda是简单的内联声明函数 声明如下:()=>{} 还有一个简短的形式:()=>()=>{}//lambda返回一个不做任何事情的lambda 在lambda中,可以使用作用域中的每个局部变量 我不知道你到底想做什么,但我希望我能帮上忙x 关于Nils。使用“&&”运算符,就像在普通C中一样#
Func expressionPerfil=Perf=>
Perf.IdUsuario==memo.IdUsuario
&&性能IdTipoPerfil(最大值)
&&性能名称长度>3;
使用“&&”运算符,就像在普通C中一样#
Func expressionPerfil=Perf=>
Perf.IdUsuario==memo.IdUsuario
&&性能IdTipoPerfil(最大值)
&&性能名称长度>3;
考虑一下你的问题,标题本身,措辞和代码格式化…考虑一下你的问题,标题本身,措辞和代码格式化。非常感谢,抱歉我对此一无所知。但是MaxValue不起作用。非常感谢,很抱歉我对此一无所知。但是MaxValue将不起作用。
Func<vw_UsuarioPerfilAtributo, bool> expressionPerfil =
Perf => Perf.IdUsuario == memo.IdUsuario &&
Perf.IdTipoPerfil(MaxValue) &&
Perf.Name.lenght > 3;
Func<vw_UsuarioPerfilAtributo, bool> expressionPerfil =
Perf => Perf.IdUsuario == memo.IdUsuario
&& Perf.IdTipoPerfil(MaxValue)
&& Perf.Name.lenght > 3;
Func<vw_UsuarioPerfilAtributo, bool> expressionPerfil = Perf =>
Perf.IdUsuario == memo.IdUsuario
&& Perf.IdTipoPerfil(MaxValue)
&& Perf.Name.lenght > 3;