Hacker News

C # قۇرلار Dapper دىكى SQL Server كۆرسەتكۈچلىرىڭىزنى ئۈن-تىنسىز ئۆلتۈرىدۇ

باھا

1 min read Via consultwithgriff.com

Mewayz Team

Editorial Team

Hacker News

C # تىزمىلار ساندان ئىقتىدارىڭىزنى ئۈن-تىنسىز بوغۇپ قويىدۇ

ئەگەر سانلىق مەلۇماتلىرىڭىزنى زىيارەت قىلىش ئۈچۈن Dapper نى ئىشلىتىپ .NET ئاچقۇچى بولسىڭىز ، ئىقتىدار ۋە ئاددىيلىقنى ياخشى تاللىدىڭىز. Dapper سىزنى مېتالغا يېقىنلاشتۇرىدىغان ، چوڭ رامكىلارنىڭ ئۈستى ۋە مۇرەككەپلىكىدىن ساقلىنىدىغان قالتىس مىكرو ORM. ئەمما بۇ كۈچ مەسئۇلىيەت بىلەن كېلىدۇ. C # قوللىنىشچان پروگراممىلاردا كەڭ تارقالغان قارىماققا گۇناھسىز كودلاش ئادىتى بەلكىم SQL مۇلازىمېتىرىڭىزنىڭ ئىقتىدارىغا بۇزغۇنچىلىق قىلىشى مۇمكىن: SQL سوئاللىرىغا ئىچكى قۇر ھەرىپلىرىنى ئىشلىتىش. بۇ ئەمەلىيەت ئېھتىياتچانلىق بىلەن پىلانلانغان ساندان كۆرسەتكۈچلىرىڭىزنىڭ ئۈنۈمىنى ئۈن-تىنسىز ئۆلتۈرىدۇ ، سوئاللارنىڭ سۇس بولۇشى ۋە ئىشلەتكۈچىنىڭ ناچار تەجرىبىسىنى كەلتۈرۈپ چىقىرىدۇ. Mewayz غا ئوخشاش سۇپىلارغا نىسبەتەن ، ئۈنۈملۈك سانلىق مەلۇماتلارنى بىر تەرەپ قىلىش سودا تىجارىتىنى باشقۇرۇشتا ئىنتايىن مۇھىم ، بۇ سىز قىلالمايدىغان ئىقتىدار قاتىلى.

كۆرسەتكۈچ سېھرى كۈچى ۋە پارامېتىرلاشتۇرۇلغان قۇتقۇزغۇچى

ئالدى بىلەن ، كۆرسەتكۈچلەرنىڭ نېمە ئۈچۈن ئىنتايىن مۇھىملىقىنى چۈشىنىپ باقايلى. ساندان كۆرسەتكۈچى كىتابتىكى كۆرسەتكۈچكە ئوخشايدۇ. ئۇ SQL Server نىڭ ھەر بىر بەتنى (ياكى قۇر) سايىلەپ قويماي سانلىق مەلۇمات تېپىشىغا يول قويىدۇ. «WHERE» ماددىسى بىلەن سوئالنى ئىجرا قىلسىڭىز ، سوئال ئەلالاشتۇرغۇچى ئەڭ ياخشى ئىشلىتىدىغان كۆرسەتكۈچنى ئىزدەيدۇ. بۇ سېھىرنىڭ ئاچقۇچى ئالدىن پەرەز قىلىش. پارامېتىرلىق سوئالنى ئىشلەتكەندە ، ئەلالاشتۇرغۇچقا ئېنىق ، ئىزچىل ماس كېلىدىغان ئەندىزە بېرىسىز.

ئوخشىمايدىغان يېرى. بۇ ئىككى Dapper مىسالىغا قاراپ باقايلى:

// بۇ BAD - String Concatenation
var userId = "12345";
var sql = $ "SELECT * ئىشلەتكۈچىلەردىن WHERE UserId = {userId}";
var user = connection.Query (sql);

بىلەن

// بۇ ياخشى - پارامېتىرلاشتۇرۇلغان سوئال
var sql = "ئىشلەتكۈچىلەردىن SELECT * ئىشلەتكۈچى ID = @UserId";
var user = connection.Query (sql, new {UserId = 12345});

بىرىنچى مىسال ئوخشىمىغان `userId` ئۈچۈن ئۆزگىچە SQL تىزمىسى ھاسىل قىلىدۇ. SQL Server نىڭ نۇقتىسىدىن قارىغاندا ، ئۇ ھەر قېتىم پۈتۈنلەي يېڭى بىر سوئالنى كۆرىۋاتىدۇ: بىرى `UserId = 12345` ، يەنە بىرى` UserId = 67890` قاتارلىقلار. ئىككىنچى مىسال ھەر قېتىم ئوخشاش سوئال تىزمىسىنى ئەۋەتىدۇ ، پەقەت پارامېتىر قىممىتىنى ئۆزگەرتىدۇ. بۇ ئىزچىللىق ئۈنۈملۈك سۈرۈشتۈرۈشنىڭ ئاساسى.

تىزىلغان ئەدەبىياتلارنىڭ بۇزغۇنچىلىق سوئال پىلانىنى ساقلاش

مەسىلىنىڭ يادروسى سۈرۈشتۈرۈش پىلانى غەملەكتە. SQL مۇلازىمېتىرى SQL تىزمىڭىزنى ئىجرا پىلانىغا توپلايدۇ - بۇ سانلىق مەلۇماتنى قانداق ئېلىشنىڭ پىلانى. بۇ تۈزۈش قىممەت ، شۇڭا SQL Server بۇ پىلانلارنى قايتا ئىشلىتىپ قايتا ئىشلىتىدۇ. پارامېتىرلىق سوئاللار بىلەن ، «ئىشلەتكۈچى SELECT * ئىشلەتكۈچىدىن WHERE UserId = @ UserId» نىڭ پىلانى ھەقىقىي كىملىكنىڭ قانداق بولۇشىدىن قەتئىينەزەر ، ھەر بىر قېتىملىق تېلېفوندا بىر قېتىم تۈزۈلگەن ، غەملەك قىلىنغان ۋە قايتا ئىشلىتىلگەن. بۇ غەملەك پىلانى «UserId» ئىستونىدىكى كۆرسەتكۈچنى ئۈنۈملۈك ئىشلىتىش ئۈچۈن لايىھەلەنگەن.

سىزىقلىق سىزىقلىق ھەرپلەرنى ئىشلەتكەندە ، ھەر بىر ئۆزگىچە قىممەت ئۆزگىچە SQL تىزمىسى ھاسىل قىلىدۇ. SQL Server ھەر بىرسىنى پۈتۈنلەي يېڭى سوئال دەپ قارايدۇ ، ئۇنى CPU دەۋرىيلىكىنى تۈزۈشكە ئىسراپ قىلىشقا ۋە ھەر قېتىم يېڭى ئىجرا پىلانى تۈزۈشكە مەجبۇرلايدۇ. بۇ ناھايىتى تېزلا ئوخشاش ، يەككە ئىشلىتىش پىلانى بىلەن پىلان ساقلىغۇچنى كەلكۈن بېسىپ ، باشقا پايدىلىق پىلانلارنى چىقىرىپ تاشلاپ ، ئىچكى ساقلىغۇچنى ئىسراپ قىلىدۇ. تېخىمۇ مۇھىمى ، ئەلالاشتۇرغۇچ ھەمىشە بۇ بىر قېتىملىق سوئاللارنىڭ ئەڭ ياخشى كۆرسەتكۈچىنى ئىشەنچلىك ئىشلىتەلمەيدۇ ، بەزىدە ئىزدەشنىڭ ئورنىغا ئۈستەل سايىلىشىنى كەلتۈرۈپ چىقىرىدۇ. يۇقىرى ئىقتىدارلىق كۆرسەتكۈچڭىز پايدىسىز زىننەتكە ئايلىنىدۇ.

سىز سەل قارىغىلى بولمايدىغان ئىقتىدار تەسىرى

بۇ ئەندىزەگە قارشى تۇرۇشنىڭ ئاقىۋىتى ۋاقىتنىڭ ئۆتۈشىگە ئەگىشىپ ئېغىر ۋە بىرىكمە بولىدۇ.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →
  • مەركىزى بىر تەرەپ قىلغۇچنىڭ ئىشلىتىلىشى: دائىملىق سوئال توپلاش ساندان مۇلازىمېتىرىڭىزنىڭ مەركىزى بىر تەرەپ قىلغۇچنى تېزلىتىدۇ.
  • ئاستا سوئاللارغا جاۋاب قايتۇرۇش ۋاقتى: سوئاللار ئۇزۇن ۋاقىت كېتىدۇ ، چۈنكى ئۇلار غەملەكنى قولدىن بېرىپ قويىدۇ ھەمدە جەدۋەلنى تولۇق تەكشۈرەلەيدۇ.
  • پىلان غەملەك پىلانى: غەملەك تاق ئىشلىتىش پىلانى بىلەن توسۇلۇپ ، مۇلازىمېتىردىكى بارلىق سوئاللارنىڭ ئىپادىسىگە زىيان سالىدۇ.
  • بىخەتەرلىك خەۋىپى: بۇ ئۇسۇل SQL ئوكۇل ھۇجۇمىنىڭ دەرۋازىسىنى ئاچىدۇ ، بۇ سوئاللار ئەسلىدىنلا ئالدىنى ئالىدىغان ھالقىلىق يوچۇق.

شىركەتلەرگە مۇرەككەپ مودۇللۇق سانلىق مەلۇماتلارنى بىر تەرەپ قىلىدىغان Mewayz غا ئوخشاش سودا مەشغۇلات سىستېمىسىغا نىسبەتەن ، بۇ مەسىلىلەر قوللىنىشچان پروگراممىنىڭ ئىنكاسچانلىقىنى ئاجىزلاشتۇرۇپ ، ئابونتلارنىڭ ئىشلەپچىقىرىش كۈچى ۋە رازى بولۇشىغا بىۋاسىتە تەسىر كۆرسىتىدۇ.

مەسىلىنى ئوڭشاش: پارامېتىرلارنى قۇچاقلاڭ ۋە كودىڭىزنى تەكشۈرۈڭ

ھەل قىلىش چارىسى ئاددىي بولۇپ ، سىز ئەمەل قىلىشقا تېگىشلىك ئەڭ ياخشى ئۇسۇللار بىلەن ماسلىشىدۇ. Dapper بىلەن پارامېتىرلىق سوئاللارنى ھەمىشە ئىشلىتىڭ. Dapper سىزنىڭ نامسىز ئوبيېكت ياكى ھەرىكەتچان پارامېتىر سۈپىتىدە پارامېتىرلارنى يوللىشىڭىزغا يول قويىدۇ. بۇ سىزنىڭ SQL ئوكۇلىغا قارشى ئىلتىماسىڭىزنى كاپالەتكە ئىگە قىلىپلا قالماي ، يەنە سوئاللىرىڭىزنىڭ غەملەكچان بولۇشىغا كاپالەتلىك قىلىدۇ ھەمدە كۆرسەتكۈچلىرىڭىزنى مۇۋاپىق ئىشلىتەلەيدۇ.

بۇنىڭدىن باشقا ، SQL Server نىڭ پىلان غەملەكلىرىنى قەرەللىك نازارەت قىلىڭ. كۆپ ساندىكى «Adhoc» سوئاللىرىنى ئىزدەڭ ، بۇ دائىم بۇ مەسىلىنىڭ ھېكايە بەلگىسى. SQL مۇلازىمېتىر باشقۇرۇش ستۇدىيىسى (SSMS) غا ئوخشاش قوراللارنى ئىشلىتىپ ، سوئالنىڭ نەتىجىسىنى تەھلىل قىلىڭ ۋە ئىزدەشنىڭ قەيەردە يۈز بېرىدىغانلىقىنى تەكشۈرۈڭ. پارامېتىرلاشتۇرۇش ۋە تەشەببۇسكارلىق بىلەن نازارەت قىلىش ئارقىلىق ، ساندان قاتلىمىڭىزنىڭ تولۇق يوشۇرۇن كۈچىنى ئاچىسىز ، Mewayz غا ئوخشاش سۇپىلارنىڭ زامانىۋى كارخانىلار تەلەپ قىلىدىغان تېز ، ئىشەنچلىك ئىقتىدار بىلەن تەمىنلىشىگە كاپالەتلىك قىلىڭ.

دائىم سورايدىغان سوئاللار

C # تىزمىلار ساندان ئىقتىدارىڭىزنى ئۈن-تىنسىز بوغۇپ قويىدۇ

ئەگەر سانلىق مەلۇماتلىرىڭىزنى زىيارەت قىلىش ئۈچۈن Dapper نى ئىشلىتىپ .NET ئاچقۇچى بولسىڭىز ، ئىقتىدار ۋە ئاددىيلىقنى ياخشى تاللىدىڭىز. Dapper سىزنى مېتالغا يېقىنلاشتۇرىدىغان ، چوڭ رامكىلارنىڭ ئۈستى ۋە مۇرەككەپلىكىدىن ساقلىنىدىغان قالتىس مىكرو ORM. ئەمما بۇ كۈچ مەسئۇلىيەت بىلەن كېلىدۇ. C # قوللىنىشچان پروگراممىلاردا كەڭ تارقالغان قارىماققا گۇناھسىز كودلاش ئادىتى بەلكىم SQL مۇلازىمېتىرىڭىزنىڭ ئىقتىدارىغا بۇزغۇنچىلىق قىلىشى مۇمكىن: SQL سوئاللىرىغا ئىچكى قۇر ھەرىپلىرىنى ئىشلىتىش. بۇ ئەمەلىيەت ئېھتىياتچانلىق بىلەن پىلانلانغان ساندان كۆرسەتكۈچلىرىڭىزنىڭ ئۈنۈمىنى ئۈن-تىنسىز ئۆلتۈرىدۇ ، سوئاللارنىڭ سۇس بولۇشى ۋە ئىشلەتكۈچىنىڭ ناچار تەجرىبىسىنى كەلتۈرۈپ چىقىرىدۇ. Mewayz غا ئوخشاش سۇپىلارغا نىسبەتەن ، ئۈنۈملۈك سانلىق مەلۇماتلارنى بىر تەرەپ قىلىش سودا تىجارىتىنى باشقۇرۇشتا ئىنتايىن مۇھىم ، بۇ سىز قىلالمايدىغان ئىقتىدار قاتىلى.

كۆرسەتكۈچ سېھرى كۈچى ۋە پارامېتىرلاشتۇرۇلغان قۇتقۇزغۇچى

ئالدى بىلەن ، كۆرسەتكۈچلەرنىڭ نېمە ئۈچۈن ئىنتايىن مۇھىملىقىنى چۈشىنىپ باقايلى. ساندان كۆرسەتكۈچى كىتابتىكى كۆرسەتكۈچكە ئوخشايدۇ. ئۇ SQL Server نىڭ ھەر بىر بەتنى (ياكى قۇر) سايىلەپ قويماي سانلىق مەلۇمات تېپىشىغا يول قويىدۇ. «WHERE» ماددىسى بىلەن سوئالنى ئىجرا قىلسىڭىز ، سوئال ئەلالاشتۇرغۇچى ئەڭ ياخشى ئىشلىتىدىغان كۆرسەتكۈچنى ئىزدەيدۇ. بۇ سېھىرنىڭ ئاچقۇچى ئالدىن پەرەز قىلىش. پارامېتىرلىق سوئالنى ئىشلەتكەندە ، ئەلالاشتۇرغۇچقا ئېنىق ، ئىزچىل ماس كېلىدىغان ئەندىزە بېرىسىز.

ئەدەبىياتنىڭ بۇزۇلۇشى سوئال-جاۋاب پىلانىنى قانداق ساقلاش

مەسىلىنىڭ يادروسى سۈرۈشتۈرۈش پىلانى غەملەكتە. SQL مۇلازىمېتىرى SQL تىزمىڭىزنى ئىجرا پىلانىغا توپلايدۇ - بۇ سانلىق مەلۇماتنى قانداق ئېلىشنىڭ پىلانى. بۇ تۈزۈش قىممەت ، شۇڭا SQL Server بۇ پىلانلارنى قايتا ئىشلىتىپ قايتا ئىشلىتىدۇ. پارامېتىرلىق سوئاللار بىلەن ، «ئىشلەتكۈچى SELECT * ئىشلەتكۈچىدىن WHERE UserId = @ UserId» نىڭ پىلانى ھەقىقىي كىملىكنىڭ قانداق بولۇشىدىن قەتئىينەزەر ، ھەر بىر قېتىملىق تېلېفوندا بىر قېتىم تۈزۈلگەن ، غەملەك قىلىنغان ۋە قايتا ئىشلىتىلگەن. بۇ غەملەك پىلانى «UserId» ئىستونىدىكى كۆرسەتكۈچنى ئۈنۈملۈك ئىشلىتىش ئۈچۈن لايىھەلەنگەن.

سىز سەل قارىغىلى بولمايدىغان ئىقتىدار تەسىرى

بۇ ئەندىزەگە قارشى تۇرۇشنىڭ ئاقىۋىتى ۋاقىتنىڭ ئۆتۈشىگە ئەگىشىپ ئېغىر ۋە بىرىكمە بولىدۇ.

مەسىلىنى ئوڭشاش: پارامېتىرلارنى قۇچاقلاڭ ۋە كودىڭىزنى تەكشۈرۈڭ

ھەل قىلىش چارىسى ئاددىي بولۇپ ، سىز ئەمەل قىلىشقا تېگىشلىك ئەڭ ياخشى ئۇسۇللار بىلەن ماسلىشىدۇ. Dapper بىلەن پارامېتىرلىق سوئاللارنى ھەمىشە ئىشلىتىڭ. Dapper سىزنىڭ نامسىز ئوبيېكت ياكى ھەرىكەتچان پارامېتىر سۈپىتىدە پارامېتىرلارنى يوللىشىڭىزغا يول قويىدۇ. بۇ سىزنىڭ SQL ئوكۇلىغا قارشى ئىلتىماسىڭىزنى كاپالەتكە ئىگە قىلىپلا قالماي ، يەنە سوئاللىرىڭىزنىڭ غەملەكچان بولۇشىغا كاپالەتلىك قىلىدۇ ھەمدە كۆرسەتكۈچلىرىڭىزنى مۇۋاپىق ئىشلىتەلەيدۇ.

بارلىق سودا قوراللىرىڭىز بىر جايدا

كۆپ ئەپلەرنى باغلاشنى توختىتىڭ. Mewayz ئامبار زاپىسىدىن HR غىچە ، زاكاس قىلىشتىن ئانالىز قىلىشقىچە بولغان ئاران 49 دوللار ئۈچۈن 208 قورالنى بىرلەشتۈرگەن. باشلاش ئۈچۈن ئىناۋەتلىك كارتا تەلەپ قىلىنمايدۇ.

Mewayz Free →

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime