PDA

View Full Version : سوال: entity framework در visual studio 2012



firoozi90
یک شنبه 05 آبان 1392, 13:00 عصر
سلام دوستان
یه سوال در مورد entity framework داشتم
من زمانی که با ویژوال استودیو 2010 کار می کردم دستورات EF را به این صورت می نوشتم

testEntities db= new testEntities();
student st = new student();
st.stid = textBox1.Text;
st.name = textBox2.Text;
st.famil = textBox3.Text;
st.avg =Convert.ToDouble(textBox4.Text);
db.AddTostudent(st);
db.SaveChanges();





dataGridView1.DataSource =db.student.Select(p=>p);


اما الان که خواستم با ویژوال استودیو 2012 به این روش کد شناختم دستورات را به این شکل نمیشه نوشت
مثلا متد

db.AddTostudent(st);


وجود نداره

ویا دستور زیر جواب نمی ده

[CSHARP]
[CSHARP]
dataGridView1.DataSource =db.student.Select(p=>p);

حالا خواستم ببینم دلیلش چیه و من چرا نمی توم به این روش کد بنویسم.ین کلاس ها کجا رفتن

لطفا راهنمایی کنید

alireza.tabesh
یک شنبه 05 آبان 1392, 14:50 عصر
اینجوری قبول میکنه :

db.student.add(st);

firoozi90
دوشنبه 06 آبان 1392, 08:22 صبح
اونو که آره
اما می خوام بدونم اون متد ها و کلاس ها چی شدن

و چرا این کد جواب نمی ده

dataGridView1.DataSource =db.student.Select(p=>p);

alireza.tabesh
دوشنبه 06 آبان 1392, 09:28 صبح
اینو امتحان بکن ببین جواب میده؟ من تاحالا اینجوری امتحان نکردم:

dataGridView1.DataSource=db.student.toList();


من اومدم از یک حلقه foreach برای اینکار استفاده کردم و سطر به سطر خوندم اطلاعاتمو

firoozi90
دوشنبه 06 آبان 1392, 11:17 صبح
مرسی از توجهتون
ببینید بچه ها مشکل من اینکدها نیست.
کد نوشتنشو می دونم
فقط می خوام بدونم که این کلاس ها و متدها توی ویژوال استودیو 2012 چی شدن.چطور میشه بهشون دسترسی داشت؟

alireza.tabesh
دوشنبه 06 آبان 1392, 15:12 عصر
مرسی از توجهتون
ببینید بچه ها مشکل من اینکدها نیست.
کد نوشتنشو می دونم
فقط می خوام بدونم که این کلاس ها و متدها توی ویژوال استودیو 2012 چی شدن.چطور میشه بهشون دسترسی داشت؟

ورژن دات نتو پایین انتخاب کردی ببینی چی میشه ؟ شاید کد ها با دات نت 3.5 کارکنه

firoozi90
سه شنبه 07 آبان 1392, 07:31 صبح
ورژن دات نتو پایین انتخاب کردی ببینی چی میشه ؟ شاید کد ها با دات نت 3.5 کارکنه
آره انجامش دادم اماجواب نداد

Direlap
سه شنبه 07 آبان 1392, 18:48 عصر
دوست عزیز این به خاطر ورژن EF شماست.

ورژنی که تو 2010 بود 4 هستش ولی ورژنی که تو 2012 هست 5.

اگه دقت کنی حتی میبینی که کنار برنامت یه dll جدا هم ساخته شده که در نسخه 2010 همچین چیزی وجود نداشت.

firoozi90
شنبه 11 آبان 1392, 07:11 صبح
دوست عزیز این به خاطر ورژن EF شماست.

ورژنی که تو 2010 بود 4 هستش ولی ورژنی که تو 2012 هست 5.

اگه دقت کنی حتی میبینی که کنار برنامت یه dll جدا هم ساخته شده که در نسخه 2010 همچین چیزی وجود نداشت.

خب اینو که میدونم
یعنی مایکروسافت اومده امکانات ورژن قبلیشو برداشته؟
غیرمنطقی به نظر میاد

firoozi90
یک شنبه 12 آبان 1392, 11:10 صبح
حداقل اساتید مدعی جواب سوال منو بدن
جدا این کلاس ها و آبجکت ها و متدها در ویژوال استودیو 2012 چی شدن؟
آیا مایکروساف اومده توی نسخه جدید فریمورکش از امکاناتش کم کرده؟

Boy_nn
یک شنبه 12 آبان 1392, 13:30 عصر
اونو که آره
اما می خوام بدونم اون متد ها و کلاس ها چی شدن

و چرا این کد جواب نمی ده

dataGridView1.DataSource =db.student.Select(p=>p);


دوست عزیز entity به شدت در حال تغییر و بهینه سازی هست برای همینم از 2010 به 2012 یه سری تغییرات داشته در ضمن کد آخری هم به این دلیل قبول نمی کنه که لیست نیست و از نوع IQueryable هست اگه شما ته کدت toList اضافه کنی مشکلت حل میشه
به نکته دیگه Select که اخر کدت نوشتی بی معنی هست فقط گفتی "همه از همه " که کاملا" بی معنی هست و بود و نبودش فرق خاصی نداره

Direlap
یک شنبه 12 آبان 1392, 13:43 عصر
خب اینو که میدونم
یعنی مایکروسافت اومده امکانات ورژن قبلیشو برداشته؟
غیرمنطقی به نظر میاد

جواب سوال شما اینه که کامل نمیدونید.

مایکروسافت امکانات ورژن قبلیش رو هیچ وقت برنداشته. این تغییر مبنی بر تسهیل کد نویسی و یکسان سازی کدهای نوشته شده هست. فقط روشش عوض شده و چیزی ازش حذف نشده.
شما کافیه یه نگاهی به لیست تغییرات هر ورژنش بکنی اینطوری میفهمید که چه چیزایی تغییر کردن.

son8989
جمعه 17 آبان 1392, 21:46 عصر
سلام دوست عزیزمشکلتون به نظرم اینه که درویژوال2012 وقتی مدلمونو میسازیم ازنوع (dbcontext) هستش درحالی که توی 2010 ازنوع( object context) هستش(برای اینم راهکاروجودداره) .... اگه میخواین مشکلتون برطرف بشه پیام بدین تابگم چیکارکنین.

firoozi90
یک شنبه 19 آبان 1392, 06:54 صبح
سلام دوست عزیزمشکلتون به نظرم اینه که درویژوال2012 وقتی مدلمونو میسازیم ازنوع (dbcontext) هستش درحالی که توی 2010 ازنوع( object context) هستش(برای اینم راهکاروجودداره) .... اگه میخواین مشکلتون برطرف بشه پیام بدین تابگم چیکارکنین.

ممنون از توجهت
اگه میشه لطف کنید راهکارتون رو بگید

son8989
پنج شنبه 23 آبان 1392, 11:34 صبح
سلام .برای این مشکلت راهکاری که هست اینه که مدلت روخودت به برنامه بگی چی باشه object contextباشه نه dbcontext :روشش به این صورته که شما توی قسمت مدلت توی صفحه design راست کلیک کن گزینه properties روانتخاب کن بعد code generation state روی default تنظیم کن.توی مرحله ی بعد فایل باپسوند(.tt) روازمدلت پاک کن .حالا برنامتو کامپایل کن برنامت باموفقیت اجراخواهدشد...

son8989
پنج شنبه 23 آبان 1392, 11:34 صبح
ممنون از توجهت
اگه میشه لطف کنید راهکارتون رو بگید

سلام .برای این مشکلت راهکاری که هست اینه که مدلت روخودت به برنامه بگی چی باشه object contextباشه نه dbcontext :روشش به این صورته که شما توی قسمت مدلت توی صفحه design راست کلیک کن گزینه properties روانتخاب کن بعد code generation state روی default تنظیم کن.توی مرحله ی بعد فایل باپسوند(.tt) روازمدلت پاک کن .حالا برنامتو کامپایل کن برنامت باموفقیت اجراخواهدشد...

son8989
پنج شنبه 23 آبان 1392, 11:46 صبح
من خودم پیشنهادمیدم که اگه efکارمیکنی اینتیتی 5روبگیربخون وبا هاش اشناشو .
یه سایت پیشنهاد میدم بروداخلش هرکتابی بخوای داره کتابهایی که توی امازون چندین دلارقیمت داره.ین سایت رایگان گذاشته http://www.it-ebooks.info
اینک لین دانلود کتابhttp://filepi.com/i/tNdYfyd

firoozi90
جمعه 24 آبان 1392, 06:57 صبح
من خودم پیشنهادمیدم که اگه efکارمیکنی اینتیتی 5روبگیربخون وبا هاش اشناشو .
یه سایت پیشنهاد میدم بروداخلش هرکتابی بخوای داره کتابهایی که توی امازون چندین دلارقیمت داره.ین سایت رایگان گذاشته http://www.it-ebooks.info
اینک لین دانلود کتابhttp://filepi.com/i/tNdYfyd

از همه دوستان ممنونم
من مشکلم کدنوشتن با EF5 نیست.فقط خواستم بدونم اون روش قدیمی در EF چی شده