رفتار جالب EF Core.
نکات پرفورمنسی جالبی توی EF Core هست . مثلا AddRange برای اینکه پرفورمنسی بهتر باشه کوئری زیر رو تولید میکنه.
exec sp_executesql N'SET IMPLICIT_TRANSACTIONS OFF;
SET NOCOUNT ON;
MERGE [Users] USING (
VALUES (@p0, @p1, 0),
(@p2, @p3, 1),
(@p4, @p5, 2),
(@p6, @p7, 3),
(@p8, @p9, 4),
(@p10, @p11, 5),
(@p12, @p13, 6),
(@p14, @p15, 7),
(@p16, @p17, 8),
(@p18, @p19, 9),
(@p20, @p21, 10) AS i ([Name], [Score], _Position) ON 1=0
WHEN NOT MATCHED THEN
INSERT ([Name], [Score])
VALUES (i.[Name], i.[Score])
OUTPUT INSERTED.[Id], i._Position;
دلیلش هم خیلی جالبه که به تغییر مهم EF Core توی ورژن 7 برمیگرده. (چراش رو شما بگید😁)
@DotNetIsFun