עבודה בשכבות

udiko

New member
עבודה בשכבות

התחלתי לפרק פרויקט לשכבות אני נתקל בבעיה בשכבת מסד הנתונים כתבתי פונקציה שמחזירה OleDbDataReader הבעיה היא שאם בעתיד אני יעבור ל SQL זה יצטרך להיות SqlDataReader כלומר אני יצטרך לשנות את הקוד שלא בשכבת מסד הנתונים מה אפשר לעשות ? המצב הנוכחי הורס את כל רעיון השכבות
 

sharkyM

New member
תחזיר interface

שני האובייקטים הללו מממשים את: IDataReader
 

udiko

New member
לא הבנתי

כרגע אני מחזיר
return myCommand.ExecuteReader(CommandBehavior.CloseConnection);​
אתה יכול לתת דוגמא פשוטה? תודה
 

sharkyM

New member
בחתימת המתודה

לדוגמא:
public IDataReader GetDR(...) { ... return (IDataReader)myCommand.ExecuteReader(CommandBehavior.CloseConnection); }​
 

gilad g

New member
אין צורך לעשות casting

public IDataReader GetDR(...) { ... return myCommand.ExecuteReader(CommandBehavior.CloseConnection); }​
 

nattygur

New member
תשתדרג ותעבור לכלי ORM

בגרסה הבאה MS תספק אותו. בגרסה הנוכחית חפש פתרון קוד פתוח, יש כמה ב sourceforge.
 
למעלה