๐€๐๐ˆ ๐’๐ž๐œ๐ฎ๐ซ๐ข๐ญ๐ฒ ๐‚๐ก๐ž๐œ๐ค๐ฅ๐ข๐ฌ๐ญ

๋‹ท๋„ท๋””๋ฒจยท2023๋…„ 10์›” 4์ผ
0





AsNoTracking ์ด๋ž€

C#์—์„œ EF(Entity Framework)๋กœ ์ž‘์—…ํ•  ๋•Œ AsNoTracking() ์Šต๊ด€์ ์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.์ด Method๋Š” ๋ณดํ†ต ์„ฑ๋Šฅํ–ฅ์ƒ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

AsNoTracking()์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋ฉ”๋ชจ๋ฆฌ์— ์ถ”์ ๋œ ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค์ง€ ์•Š๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์—”ํ„ฐํ‹ฐ ์ถ”์ ์„ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ•˜๋ฉด EF Core๋Š” ๊ฒฐ๊ณผ ์ง‘ํ•ฉ์˜ ๊ฐ ์—”ํ„ฐํ‹ฐ์— ๋Œ€ํ•œ ํ”„๋ก์‹œ ๊ฐœ์ฒด๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ”„๋ก์‹œ ๊ฐœ์ฒด๋Š” ์—”ํ„ฐํ‹ฐ์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์ถ”์ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, SaveChanges()๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์œ ์ง€๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AsNoTracking()์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ EF Core๋Š” ์—”ํ„ฐํ‹ฐ์— ๋Œ€ํ•œ ํ”„๋ก์‹œ ๊ฐœ์ฒด๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์ค„์–ด๋“ค๊ณ  ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•„์š”ํ•œ ๊ฒฝ์šฐ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ธฐ๋งŒ ํ•˜๊ณ  ์—”ํ„ฐํ‹ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์œผ๋ ค๋Š” ๊ฒฝ์šฐ.

ํ”ผํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ

ํ„ฐํ‹ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋‹ค์‹œ ์ €์žฅํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ

Why

ํŠนํžˆ ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•  ๋•Œ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ ์ ˆํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ AsNoTracking()์„ ์‚ฌ์šฉํ•˜๋ฉด EF ์ฟผ๋ฆฌ์˜ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ

0๊ฐœ์˜ ๋Œ“๊ธ€

Powered by GraphCDN, the GraphQL CDN