C# 如何将一个元素从一个可枚举变量获取到一个bool变量
我有一个包含12位列的表,我想在布尔变量中输入一个值。我正在使用Dapper和SQL ServerC# 如何将一个元素从一个可枚举变量获取到一个bool变量,c#,sql-server,linq,C#,Sql Server,Linq,我有一个包含12位列的表,我想在布尔变量中输入一个值。我正在使用Dapper和SQL Server |PerQuartos|PerVizualizarQuartos|Utilizador| | true | true | admin | | false | false | frontdesk| | | | | | |
|PerQuartos|PerVizualizarQuartos|Utilizador|
| true | true | admin |
| false | false | frontdesk|
| | | |
| | | |
代码:
string sql=“从dbo.LoginTable中选择PerQuartos、pervizalizarquartos、PerReservas、pervizalizarReserva、peradicionalReserva、PerRemoverReserva、PerEditarReserva、PerHistorico、PerCheckIn、PerCheckOut、perlistage,其中Utilizador=@Utilizador;”;
每四分之一、每四分之一、每四分之一、每四分之一、每四分之一、每四分之一、每四分之一、每四分之一、每四分之一、每四分之一、每四分之一、每四分之一、每四分之一、每四分之一、每四分之一、每四分之一、每四分之一、每四分之一;
使用(IDbConnection connection=new System.Data.SqlClient.SqlConnection(Helper.ConnectionString(“Hotel”))
{
var permission=connection.Query(sql,new{Utilizador=Global.Utilizador});
PerQuartos=permission.Select(r=>r.PerQuartos);//我想将每个列的值添加到每个特定的bool变量中,但这段代码给出了一个错误。。。
}
注意:查询数据类型“Utilizadores”不同于sql查询参数“Utilizador”。可枚举的范围(0,10)。选择(x=>(r.PerQuartos>>x)&1)不起作用,它表示
PerQuarto
不存在…PerQuartos=权限。选择(r=>可枚举的范围(0,10)。选择(x=>(r.PerQuartos>>x)&1)@jdweng这不起作用,因为PerQuartos
是一种类型bool变量。我强烈建议将这些bool
s放入一个类中,然后您可以查询(…
string sql = "SELECT PerQuartos, PerVizualizarQuartos, PerEditarQuartos, PerReservas, PerVizualizarReserva, PerAdicionarReserva, PerRemoverReserva, PerEditarReserva, PerHistorico, PerCheckIn, PerCheckOut,PerListagem FROM dbo.LoginTable WHERE Utilizador = @Utilizador;";
bool PerQuartos, PerVizualizarQuartos, PerEditarQuartos, PerReservas, PerVizualizarReserva, PerAdicionarReserva, PerRemoverReserva, PerEditarReserva, PerHistorico, PerCheckIn, PerCheckOut, PerListagem;
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.ConnectionString("Hotel")))
{
var permission = connection.Query<Utilizadores>(sql, new { Utilizador = Global.utilizador });
PerQuartos = permission.Select(r => r.PerQuartos); //I want to add each column value to each specific bool variable but this code gives me error...
}