#c# #sql-server #linq
Вопрос:
У меня есть таблица с 12 — битными столбцами, и я хочу ввести одно значение в логическую переменную. Я использую Dapper и SQL Server.
|PerQuartos|PerVizualizarQuartos|Utilizador|
| true | true | admin |
| false | false | frontdesk|
| | | |
| | | |
Код:
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...
}
Примечание: Тип данных запроса «Utilizadores» отличается от параметра sql-запроса «Utilizador»..
Комментарии:
1. Поддается перечислению. Диапазон(0,10).Выберите(x => (r.PerQuartos >>>>> x) amp; 1)
2. это не сработало, это говорит о том, что этого
PerQuarto
не существует…3. Перкартос = разрешение. Выберите(r => Перечисляемый. Диапазон(0,10).Выберите(x => (r.PerQuartos >>>>> x) amp; 1) );
4. @jdweng Это не работает, потому
PerQuartos
что это переменная типа bool5. Я бы настоятельно рекомендовал поместить эти
bool
буквы в класс, тогда вы можете простоQuery<MyClass>(...