У меня есть столбец типа Bit (в этом примере он называется BBoolVal).
У меня есть оператор LinqToSQL, например:
var query = List<MyClass> myList = _ctx.DBList
.Where(x => x.AGuidID == paramID)
.Where(x => x.BBoolVal == false);
Когда я смотрю на sql, он заканчиваетсявот так (я добавил интервал и изменил имена):
SELECT [t0].[Id], [t0].[AGuidID], [t0].[OtherIDID],
[t0].[TimeColumn], [t0].[BBoolVal], [t0].[MoreID]
FROM [dbo].[MyTable] AS [t0]
WHERE (NOT ([t0].[BBoolVal] = 1)) AND ([t0].[AGuidID] = @p0)
Поскольку мой x.BBoolVal == false переводится как [BBoolVal] == 1, я получаю, что false = 1 (и, следовательно, true = 0).
Я спрашиваю, потому что это кажется мне немного отсталым.Я в порядке, чтобы принять это, я просто хочу быть уверен.