תוכן עניינים:

האם Entity Framework תומכת בנעילה פסימית?
האם Entity Framework תומכת בנעילה פסימית?

וִידֵאוֹ: האם Entity Framework תומכת בנעילה פסימית?

וִידֵאוֹ: האם Entity Framework תומכת בנעילה פסימית?
וִידֵאוֹ: The Dark Side of Ai Consciousness? Kastrup, Hoffman, Schneider 2024, מאי
Anonim

האלטרנטיבה האחרת הוא לפנות לאופטימיות נְעִילָה . במסמך מצוין כי EF עושה אין מובנה פסימי במקביל תמיכה . אבל זה עושה לא מתכוון אליך פחית אין נעילה פסימית עם EF. אז אתה פחית יש נעילה פסימית עם EF!

חוץ מזה, איך Entity Framework שומרת על מקבילות?

מסגרת ישות תומך באופטימיות במקביל כברירת מחדל. EF מציל א יֵשׁוּת נתונים למסד הנתונים, בהנחה שאותם נתונים לא שונו מאז יֵשׁוּת נטען. אם הוא מגלה שהנתונים השתנו, אזי נזרק חריג ועליך לפתור את ההתנגשות לפני שתנסה לשמור אותו שוב.

בנוסף, מהו מצב ניצחונות של לקוחות ומצב ניצחונות בחנות ב-Entity Framework במקביל? ב החנות מנצחת / מאגר מידע מנצח הנתונים מהשרת נטענים לתוך שלך יֵשׁוּת חפצים. הלקוח מנצח הוא מנוגד ל ניצחונות מאוחסנים , נתונים מה- יֵשׁוּת האובייקט נשמר במסד הנתונים. עלינו להשתמש בשיטת "רענון" של מסגרת ישות ההקשר ועלינו להשתמש בתפריט "RefreshMode" עבור אותו הדבר.

כאן, כיצד Entity Framework מטפל בהתנגשויות במקביל?

הגישה הכללית לטיפול בהתנגשויות במקביל היא:

  1. תפוס את DbUpdateConcurrencyException במהלך SaveChanges.
  2. השתמש ב-DbUpdateConcurrencyException.
  3. רענן את הערכים המקוריים של אסימון המקביל כדי לשקף את הערכים הנוכחיים במסד הנתונים.
  4. נסה שוב את התהליך עד שלא יתרחשו התנגשויות.

איך Web API מטפל במקביל?

איך ל לטפל במקביל ב-ASP. NET Core אינטרנט API . צור פרויקט ריק ועדכן את מחלקת ה-Startup כדי להוסיף שירותים ותוכנות ביניים עבור MVC. הוסף בקר עם GET ו-PUT כדי להדגים במקביל . שלח בקשת GET וצפה בכותרת ה-ETag (באמצעות Postman).

מוּמלָץ: