דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. תשכחו מכל הבלגן של ADO.NET, תשתמשו רק בDapper

תשכחו מכל הבלגן של ADO.NET, תשתמשו רק בDapper

מתוזמן נעוץ נעול הועבר ארכיון code613m
4 פוסטים 2 כותבים 436 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מחובר
    dovidD מחובר
    dovid ניהול
    כתב ב נערך לאחרונה על ידי
    #1

    https://github.com/StackExchange/Dapper
    זה ספריה שרשמית משתמשת למעין ORM קליל. האמת ששמעתי עליה שנים אבל אני לא משוגע על ORM (זמן הקינפוג כפול מהעבודה המסורתית עם מחרוזות הפקודות והפרמטרים והתוצאות) וגם אם אני ממש צריך אני מסתדר מעולה עם EntityFramework.
    אבל לאחרונה קלטתי שזו ספריה שעוזרת נורא גם ללא שום קינפוג. לא צריך לפתוח קונקשנים ולסגור, לא צריך לשתול טוקנים, לא צריך לעשות מופעי Command וDbReader. ועוד הרבה דברים נחמדים.
    זהו, אני איתה, ממליץ גם לאחרים.

    פורסם במקור בפורום CODE613 ב12/11/2017 10:41 (+02:00)

    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

    בכל נושא אפשר ליצור קשר dovid@tchumim.com

    תגובה 1 תגובה אחרונה
    4
    • A מנותק
      A מנותק
      avr416
      כתב ב נערך לאחרונה על ידי
      #2

      דוד, אתה רוצה להרחיב ולשכנע אותנו מדוע לעזוב את אנטיטי?
      וגם אולי דוגמא קטנה איך לעבוד איתה? :smile:

      פורסם במקור בפורום CODE613 ב12/11/2017 12:05 (+02:00)

      תגובה 1 תגובה אחרונה
      1
      • dovidD מחובר
        dovidD מחובר
        dovid ניהול
        כתב ב נערך לאחרונה על ידי
        #3

        אף שEF לא חף מחסרונות, אין ספק שבתכנון מערכת לך רק עליו (אלא"כ אתה באפיון מיוחד שממש מתנגש בחסרונות הללו. בביצועים למשל, הDapper ענק).
        אלא שהרבה פעמים אתה ניגש לDB באופן לא מערכתי, פשוט לעשות וזהו.
        אני אישית מאוד מאוד נתקל בזה כי לצערי אני עובד הרבה מול מסדים זרים ועוד באקסס, כך שEF איננה אופציה.

        פורסם במקור בפורום CODE613 ב12/11/2017 13:27 (+02:00)

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

        תגובה 1 תגובה אחרונה
        2
        • dovidD מחובר
          dovidD מחובר
          dovid ניהול
          כתב ב נערך לאחרונה על ידי
          #4

          דוגמה מסקריפט (שפת הסקריפט שלי היא C# כבר מזמן, במיוחד מאז שיש לי את linqpad) שאני באמצע לכתוב,
          יש פה שימוש בDapper עם ValueTuple של C# 7:

          using (var conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Users\admin\Desktop\צרפת חנוכה\Address.mdb'"))
          	conn.Query<(string Address, double longitude, double latitude)>("SELECT Address As Item1, longitude As Item2, latitude As Item3 FROM Address").Take(10).Dump();
          

          זה לא נח לכתוב Item1, Item2 בשאילתא, והיה מצופה שיהיה מיפוי לפי שמות כמו שנעשה במחלקות רגילות, וזה הצעה שעומדת בפני המפתחים: https://github.com/StackExchange/Dapper/issues/735

          עריכה, הנה קטע הקוד In Action:

          Dictionary<string, GeoCoordinate> dicAddress;
          
          using (var conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Users\admin\Desktop\צרפת חנוכה\Address.mdb'")
          	dicAddress = conn.Query<(string Address, double longitude, double latitude)>
          	("SELECT Address As Item1, longitude As Item2, latitude As Item3 FROM Address")
          	.ToDictionary(q => q.Address, x => new GeoCoordinate(x.latitude, x.longitude));
          

          אולי אתם לא מבינים מה פרץ השיתוף הזה, אבל בשבילי מדובר באלגנטיזציה עצומה של קוד בלתי נסבל.

          פורסם במקור בפורום CODE613 ב13/11/2017 10:41 (+02:00)

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          תגובה 1 תגובה אחרונה
          2

          בא תתחבר לדף היומי!
          • התחברות

          • אין לך חשבון עדיין? הרשמה

          • התחברו או הירשמו כדי לחפש.
          • פוסט ראשון
            פוסט אחרון
          0
          • דף הבית
          • קטגוריות
          • פוסטים אחרונים
          • משתמשים
          • חיפוש
          • חוקי הפורום