Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 윈도우즈 터미널
- option pattern
- elasticSearch
- 무선 디버깅
- log
- 맥미니
- Flutter
- IDX Project
- DotNet
- module upgrade
- rc-service
- mysql
- Linux
- sqlc
- vscode
- golang
- 옵션 패턴
- pg_stat_statements
- shared_preload_libraries
- otel
- user-secrets
- SQL Server
- version 2
- opentelemetry
- AnimatedPositioned
- Android
- docker
- User
- openrc
- go
Archives
- Today
- Total
CATCHV Blog
Entityframwork core Parameter value 확인 본문
반응형
EF Core(Entityframwork core) 쿼리를 실행하는 경우 Parameter의 값이 ?로 로그에 출력 합니다.
이유는 실제 쿼리가 parameter binding되어 실행되기 때문에 쿼리문 자체는 ?로 실행됩니다.
두번째 줄의 Parameters에 ? 와 컬럼 타입 및 CommandTimout 값만 표시 된다.
dbug: 2023-04-11 16:19:23.468 RelationalEventId.CommandExecuting[20100] (Microsoft.EntityFrameworkCore.Database.Command)
Executing DbCommand [Parameters=[@__GetName_0='?' (Size = 4000)], CommandType='Text', CommandTimeout='30']
SELECT [s].[StudentId], [s].[Name]
FROM [Students] AS [s]
WHERE [s].[Name] = @__GetName_0
해당 부분을 확인하기 위해서 EnableSensitiveDataLogging() 호출하면 Parameter의 값을 확인 할 수 있습니다.
optionsBuilder.UseSqlServer(builder.ConnectionString);
optionsBuilder.EnableSensitiveDataLogging();
optionsBuilder.LogTo(Console.WriteLine,
new[] {
Microsoft.EntityFrameworkCore.Diagnostics.RelationalEventId.CommandExecuting,
});
"파라미터값"이라는 것이 변수에 바인딩되는 것을 확인 할 수 있습니다.
dbug: 2023-04-11 16:30:35.534 RelationalEventId.CommandExecuting[20100] (Microsoft.EntityFrameworkCore.Database.Command)
Executing DbCommand [Parameters=[@__GetName_0='파라미터값' (Size = 4000)], CommandType='Text', CommandTimeout='30']
SELECT [s].[StudentId], [s].[Name]
FROM [Students] AS [s]
WHERE [s].[Name] = @__GetName_0
반응형
'Dev > dotnet core' 카테고리의 다른 글
옵션 패턴(Option pattern) (0) | 2023.07.11 |
---|---|
dotnet middleware 순서 (0) | 2023.07.05 |
dotnet user-secrets (0) | 2023.05.24 |
vault v2 api (0) | 2023.04.20 |
Comments