עבור לתוכן

הכנסת מידע ל-data bast ב-C#

Featured Replies

פורסם

יש לי data base שבניתי:

http://imageshack.us/f/259/77878102.png/

אליו אני מכניס נתונים שאני קורא אותם מקובץ טקסט, התחלתי להכניס נתונים קודם לטבלת ה-movies, מכיון שיש קשר בין טבלת ה-movies לבין טבלת ה-categories (נוספה עמודה באופן אוטומטי של categories_id בטבלת ה-movies) לפני שהכנסתי את הסרטים מילאתי את טבלת categories, אחרי זה כשאני מריץ את הקוד שממלא את טבלת הסרטים ולמרות שמילאתי קודם את טבלת ה-categories זה נופל על שגיאה שאומרת:

Entities in 'videoLibraryDb.Movies' participate in the 'MoviesCategories' relationship. 0 related 'Categories' were found. 1 'Categories' is expected.


static void Main(string[] args)
{
videoLibraryDb dataBase = new videoLibraryDb();


FileStream MovieCategories = new FileStream("Movies.txt", FileMode.Open, FileAccess.Read);
StreamReader srMovieCategories = new StreamReader(MovieCategories);


using (srMovieCategories)
{
while (!srMovieCategories.EndOfStream) //add to categories table
{
string cLine = srMovieCategories.ReadLine();
string[] cLineArr = cLine.Split(',');
Categories movieCategory =
Categories.CreateCategories(0, ((MovieType)int.Parse(cLineArr[2])).ToString());
dataBase.AddToCategories(movieCategory);
dataBase.SaveChanges();
}
}


FileStream movies = new FileStream("Movies.txt", FileMode.Open, FileAccess.Read);
StreamReader srMovies = new StreamReader(movies);


using (srMovies)
{
while (!srMovies.EndOfStream) //add to movies table
{
string line = srMovies.ReadLine();
string[] lineArr = line.Split(',');
Movies movie = Movies.CreateMovies(lineArr[0], lineArr[1], int.Parse(lineArr[3]));
dataBase.AddToMovies(movie);
dataBase.SaveChanges();
}
}


Console.ReadLine();
}

פורסם

נראה לי שהבעיה היא בזמן יצירת הקטגוריות.

השורה שאמורה להוסיף קטגוריה חדשה לא ברורה לי

1) למה למתודה קוראים CreateCategories כלומר "יצירת קטגוריות" ברבים? ברור שאתה יוצר מופע חדש של קטגוריה אחת...

2) הארגומנט הראשון למתודה הנ"ל הוא קבוע "0" - לא היה אמור להיות מספר זיהוי הקטגוריה? כלומר משהו כמו

(MovieType)int.Parse(cLineArr[2])

ועוד דבר - שים לב שעשית קישור בין Movies ו Rents ז"א שהוא יחייב אותך גם לתת מענה לקישור הזה בזמן טעינת הסרטים

אתה רוצה שהקישור יהיה אופציונאלי (ז"א אחד לאפס או יותר)

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים