ASP.Net MVC + Entity Framework Code First.

Similar documents
טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

A R E Y O U R E A L L Y A W A K E?

הרצאה מספר 10 נושאים לשיעור זה: סיכום הפקודות עד לשיעור זה *** )S-Q( = מקומות בהם ניתן לשלב תתי שאילתות

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.


Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

Visual C# Express Edition 2005

חטיבת המינרלים החיוניים תתמקד בשוקי האגרו וחטיבת הפתרונות המיוחדים תשמש כחטיבה התעשייתית; כיל דשנים מיוחדים תשולב בחטיבת המינרלים החיוניים;

תרגול מספר 9: בנאים, שיטות של אובייקטים והכמסה מבוא למדעי המחשב - סמסטר א' תשע"א,תרגול מס' 9. נושאי התרגול: this

Patents Basics. Yehuda Binder. (For copies contact:

מדריך למשתמש התקנה עצמית

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names.

יסודות מבני נתונים. תרגול :9 ערימה - Heap

THINKING ABOUT REST THE ORIGIN OF SHABBOS

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

Web Services שפת SQL. כתבה: זהבה יעקובסון ליווי מקצועי : ארז קלר

לשרטוט חשמלי בתוכנת OrCad-Capture

מדריך למשתמש התקנה עצמית

אנגלית (MODULE E) בהצלחה!

Summing up. Big Question: What next for me on my Israel Journey?

הטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב

תורשכ ירפס לכ ץבוק " ב י קלח יללכ רעש

Reflection Session: Sustainability and Me

קורס מטלב לפיסיקאים שיעור מס' 10: משתנים מורכבים

מבוא לתכנות ב- JAVA תרגול 7

המבנה הגאומטרי של מידה

מבוא לרשתות - תרגול מס' 11 Transparent Bridges

Practical Session No. 13 Amortized Analysis, Union/Find

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור

הקדמה בדיקת תמיכה ב- SSL מאת עידו קנר

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

תרגול 11 תור עץ חיפוש בינארי

הנדסה-לאחור: שרשרת העלייה של Windows 7 חלק שני - VBR

FULL ARTICLE ACTIVE DIRECTORY

(MODULE E) ב ה צ ל ח ה!

שאלון ו' הוראות לנבחן

פרצות אבטחה נפוצות בהעלאת קבצים בעזרת PHP

David & Dorothy Weiser, z l

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית.

IBM System x3690 X5 תושבות. בלבד" מסוג.Nehalem EX במיוחד. Intel Xeon Nehalem EX 32 עד 64 רכיבי DIMM מסוג DDR3

FULL ARTICLE ACTIVE DIRECTORY

רש"י: {ח }ויכר יוסף וגו'. לפי שהניחם חתומי זקן )ב"מ לט: כתובות כז:

הבינגמה הדובע תביבסב תונכתל ריהמ ךירדמ

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES

Chofshi.

DNS פרק 4 ג' ברק גונן מבוסס על ספר הלימוד "רשתות מחשבים" עומר רוזנבוים 1

מבוא למחשב בשפת פייתון

Genetic Tests for Partners of CF patients

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

Translation from English by Nataly Shnaidman, Jerusalem

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

CML כנס שנתי של מודעות ל- CML 4-6 לאוקטובר 2018, מלון רמדה, חדרה

מסנן סולארי: הוראות שימוש

JUDAISM AND INDIVIDUALITY

אנגלית ספרות בהצלחה! /המשך מעבר לדף/ נספח: כישורי חשיבה )לפרק ראשון ושני( או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

חוק זכויות הסוכן חוק חוזה סוכנות )סוכן מסחרי וספק(

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי(

1.1. הקדמה (דיסק). מדריכי. (מחיצות) Link

TAKE ACTION. Unit1. Part A. Pre-Reading Before page 8. A Match each letter to the two letters that follow it in the alphabetical order.

שאלון ו' הוראות לנבחן

State Pattern מימוש מכונת מצבים (FSM) מבוא בעיה תמיכה ועדכונים עדכון מס' 48 מאי 2002

מושגים בסיסיים תלמידים והורים יקרים,

מדריך שימוש והתקנה של office

דיאלוג מומחז בין מרטין בובר וקרל רוג'רס

Scribal Impact on Textual Transmission. by Israel M. Sandman, UCL. Parma, Biblioteca Palatina 2373, 16b

Theories of Justice

Yetzer Shalom: Inclinations of Peace

זה אומר שאחרי הכרות עם השפה מה שדורש השקעה אפשר להקדיש את מרבית הזמן לצד המוזיקלי יצירתי ולא התכנותיÆ איזה כיף

Debunking the Myth of the Jewish Afterlife The Olami Resources Chaburah October 24, 2018

Gateway Developer Guide

Relationships: Everything Else is Commentary

3. class attr_accessor def end 9. end puts "

מדריך שימוש בדואר האלקטרוני

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

NATIONAL COUNCIL OF YOUNG ISRAEL. Shavuot Nation JEWISH EDITION. Compiled by Gabi Weinberg Teen Program Director

חוברת מתכונים לפלטת בראוניז במולטיקייק מבית icake

חידת קופרניקוס: למה חלפו 0222 שנה עד לגילוי שכדור הארץ מסתובב סביב השמש? הרצאה של ד"ר בועז כץ

The High Priest and Our Struggle with Work-Life Balance

יומא דף נב ?רבי יוסי (B

WHAT IS THE PSHAT OF A METAPHORICAL MITZVAH?

Eight Lights Eight Writes

He who passes by and meddles in a quarrel not his own, is like one who takes a dog by the ears

WALTZ WITH BASHIR Brian J. Arnold Adaptation script for DVD Plus - English & Hebrew February 10, 2009

תכנות בטוח חלק ב ' מאת עידו קנר

מדריך המוצר של GFI מסייע ארכיו ן

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10

מבוא לאסמבלי מאת אופיר בק חלקים נרחבים ממאמר זה נכתבו בהשראת הספר "ארגון המחשב ושפת סף" אשר נכתב ע"י ברק גונן לתוכנית גבהים של משרד החינוך.

-7h3r3 15 n0 5p00n- Digital Whisper גליון 89, דצמבר 2017

Expressions (ex 8) Wild World (ex 7) Cars (ex 9)

The Challenges and Problematics of the Jewish Narrative of Peace Donniel Hartman

שיעור מספר 6: מקושרים

שאלון ד' הוראות לנבחן

מדור מערכות מידע פיננסיות

Thank you for your interest in the Prizmah Jewish Day School Conference!

Transcription:

ASP.Net MVC + Entity Framework Code First 1

הקדמה בפרק הזה יוצג שימוש בFirst EntityFramework Code עבור ה use case הבאים : ASP.Net MVC ASP.Net Web API ASP.Net MVC + Scaffolding הערה : Framework Entity הוצג קצרה בקורס "גישה למסדי נתונים ב. Net " 2

קונפגורצית פרויקט ASP.Net לעבודה עם EF בכל פרויקט בו נשתמש בFramework Entity יש לבצע פעם אחת בפרויקט דרך Visual Studio : Tools->NuGet Package Manager->Package Manager Console PM> Enable-Migrations לעשות בפרויקט עם User Authentication אחרת הsetup מורכב יותר 3

דוגמא פרויקט Blogs עם ASP.Net MVC ניצור פרויקט ASP.Net כולל User Authentication כי זה נוח מבחינת יצירה אוטומטית של הdatabase ונבחר MVC ונבצע Tools->NuGet Package Manager->Package Manager Console נוסיף בספרית Models שני קבצים : blog.cs וכן post.cs PM> Enable-Migrations קוד המקור מופיע כאן ואפשר לראות שם את ה ReadMe 4

Models - blog.cs public class Blog{ : Id קונבנציה לסימון primary key public long Id { get; set; }//primary key public string Title { get; set; } public virtual ICollection<Post> Posts { get; set; } } } אין הכרח להשתמש אבל זה יכול להיות נוח מאוד 5

public class Post{ Models - post.cs : Id קונבנציה לסימון primary key public long Id { get; set; }//primary key public string Title { get; set; } public string Content { get; set; } קונבנציה לסימון foreign key מכיל את שם המחלקה אליה מצביעים ואחרי זה Id public long BlogId { get; set; }//forign key public virtual Blog Blog { get; set; } } אין הכרח להשתמש בשדה הזה אבל זה יכול להיות נוח מאוד 6

יצוג הטבלאות דרך ApplicationDbContext נוסיף ל ApplicationDbContext את השדות הבאים public DbSet<Blog> Blogs { get; set; } public DbSet<Post> Posts { get; set; } עם ההוספה הזו למחלקה ייווצרו שתי טבלאות בdatabase אחת בשם Blogs ושניה בשם Posts הדרך ליצור את את מסד הנתונים בפעם הראשונה מופיעה בשקף הבא 7

יצירת מסד נתונים פעם ראשונה בגישת Code First Tools->NuGet Package Manager->Package Manager Console PM> Add-Migration Initial PM> Update-Database כל פעם שעושים migration נוסף עם שינוי הmodel אז משתמשים בשם אחר לדוגמא Add-Migration AddSomeFieldToSomeClass לאחר הרצה ראשונה נראה בשקף הבא מה נוצר 8

הצגת מסד הנתונים שנוצר טבלה שנוצרה ומייצגת בלוגים. השדות זהים לשדות של המחלקה Blog טבלה שנוצרה ומייצגת פוסטים. השדות זהים לשדות של המחלקה Post 9

חשוב להבין שהטבלאות מיוצגת Posts, Blogs מיצוגות ב# C בעזרת המאפינים Blogs,Posts במחלקה.ApplicationDbContext חשוב להבין גישה לטבלאות בעזרת #C Blogs,Posts הם מסוג DbSet שיורש את IQueryable,IEnumerable אותם הכרנו בפרקים הקודמים. ניתן לגשת אל Blogs,Posts אחרי יצירת מופע של ApplicationDbContext ב Controller לאחר שינוי כמו : Delete Create, Update, יש לקרוא לפונקציה SaveChanges של המופע של ApplicationDbContext בController המתאים 10

הצגת בלוגים- Read public class BlogController : Controller{ ApplicationDbContext m_db = new ApplicationDbContext(); public ActionResult Index(){ IEnumerable<Blog> blogs = m_db.blogs; גישה לטבלה @using BlogsMVC_EF.Models.Models @model IEnumerable<Blog> @{ViewBag.Title = "Index";} <h2>blog Index</h2> <a href="/blog/create">add</a> return View(blogs);} protected override void Dispose(bool disposing){ if (disposing){m_db.dispose();} נדרש בגלל שDbContext הוא disposable @foreach (var item in Model){ } <p>@item.title</p> base.dispose(disposing);}} BlogController.cs Index.cshtml 11

יצירת בלוג - Create [HttpGet] public ActionResult Create(){return View();} [HttpPost] public ActionResult Create(string title){ if (!string.isnullorempty(title))// simple validation{ Blog blog = new Blog { Title = title }; m_db.blogs.add(blog); m_db.savechanges(); @{ ViewBag.Title = "Create"; } <form action="/blog/create" method="post"> <input type="text" name="title" required/> <input type="submit" value="add Blog" /> </form> return RedirectToAction("Index");} } return View(); חלק מקובץ BlogController.cs Create.cshtml 12

עריכה - Update בעריכה אפשר להעביר את המידע שהשתנה + id לאחר מציאת האיבר בעזרת לדוגמא FirstOrDefault אפשר לשנות לו את הערכים שהשתנו לאחר העריכה יש לבצע SaveChanges ראה גישה דומה בקורס "גישה למסדי נתונים ב. Net " בדוגמה של Update עם LINQ to SQL (רק ששם משתמשים בSubmitChanges וכאן ב ( SaveChanges 13

מחיקה - Delete במחיקה בדרך כלל מעבירים את ה id לאחר מציאת האיבר בעזרת ה id מוחקים אותו באמצעות לדוגמא Remove לאחר המחיקה יש לבצע SaveChanges ראה גישה דומה בקורס "גישה למסדי נתונים ב. Net " בדוגמה של Delete עם LINQ to SQL (רק ששם משתמשים בSubmitChanges וכאן ב ( SaveChanges 14