نمایش نتایج 1 تا 30 از 30

نام تاپیک: توضیحاتی در مورد entity framework

  1. #1
    کاربر دائمی آواتار electro_esma
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    تهران
    پست
    236

    توضیحاتی در مورد entity framework

    این توضیحات رو چند روز قبل یعنی درست بعد از شروع بحث جالب آموزش توسط استاد gwbasic تو یه سایت خوندم گفتم بذارم دوستان هم استفاده کنن.

    مطالب عینا از سایت نقل شده . دلیل اینکه برای اینکار فقط لینک معرفی نکردم اینه که دوستان با ورود به پست حداقل یه نگاه اجمالی به این موضوع داشته باشن.

    آدرس سایت: http://irmeta.com/meta/index.php?topic=6232.0
    بخش 1

    مقدمه
    مایکروسافت قبل از معرفی Entity Framework ، تکنولوژیهای ado , rdo و سرانجام ado.net را ارایه کرده بود و برای اکثر این تکنولوژیها زمان زیادی گذاشته بود ، هر کدام از اینها در زمان خود یک تکنولوژی نوینی و حرکت عظیمی بود . اما با گسترش مفاهیم شی گرایی و نیاز مبرم برنامه نویسان به ایجاد اشیا از داده ها و جداول بانکهای اطلاعاتی مایکروسافت اقدام به توسعه تکنولوژی ado.net کرد و ابتدا امکانات linq و سپس Entity Framework را برای تعامل بهتر با شی گرایی مطرح کرد .

    تا قبل از آن برنامه نویسان زمان زیادی را برای برنامه نویسی اشیا جدولهای بانکهای اطلاعاتی و ارتباطات آن صرف می کردند و هر گونه تغییر در جداول بانکها مستلزم تغییرات فراوانی در کد نویسی است .

    ابتدا فهرستی از ابزارهای مدل سازی را معرفی می کنم :



    1-ERM یا Entity Relationship Model ابزاری برای مدل سازی پایگاههای داده ای رابطه ای .

    2- UML یا Unified Modeling Language زبان استاندار ماژول سازی اشیا و کلاسها

    3-ORM یا Object-Relational Mappingروشی و ابزاری برای ایجاد تعامل ماژولار میان اشیا بانکهای اطلاعاتی رابطه ای و زبانهای برنامه نویسی شی گرا

    4-DFD یا Data Flow Diagram ابزاری برای نمایش نموداری از جریان داده ها و فرآیند سیستم



    البته چند ORM دیگر هم وجود دارد یکی NHibernate و SPRINT.net هر دوتای آنها از جاوا مشتق شده اند و توانمنیدهای فراوانی دارند اما بحث ما Entity Framework.Net4 است .

    البته لیست بالا لیست کاملی نیست و از حوصله این بحث خارج است .



    قبل از ورود به بحث Entity Framework مقدمه ای در مورد Entity Data Model یا مختصرا EDM باید بیان شود .EDM در حقیقت پایه و پیش نیاز Entity Framework است و شامل سه model است

    1-مدل مفهومی 2-مدل منطقی 3-مدل ذخیره سازی یا فیزیکی

    ما می توانیم بگوییم که EDM یک نسخه تکامل یافته ERM است .ما در مدل EDM در مورد ساختار شی گرای business objects داده ها بحث می کنیم در حالی که در مدل ERM ما در مورد طرح بانک اطلاعاتی بحث می کنیم .که باید تفاوت میان مدل داده و مدل شی را متوجه شویم ، شکل زیر یک مدل داده را نشان می دهد در حالی که شکل بعدی مدل شی گرا از بانک اطلاعاتی ما را نشان می دهد.

  2. #2
    کاربر دائمی آواتار electro_esma
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    تهران
    پست
    236

    نقل قول: توضیحاتی در مورد entity framework

    Entity%20Framework13.jpg

    Entity چیست ؟

    ما برای فهم Entity Framework باید ابتدا مفهوم Entity را متوجه شویم ، البته بعدا در مورد این مفصلا خواهم نوشت ولی فعلا برای فهم بیشتر مقایسه ای با object و relational data انجام می دهم

    تشابه Entity با شی یا object

    1- Entity مانند شی دارای انواع تعریف شده برای داده ها و فیلدها است

    2- Entity مانند شی دارای خصوصیت یا properties است

    3- هر Entity یک هویت متمایزی دارد

    4- یک خصوصیت Entity می تواند ارجاعی به Entity دیگر باشد



    تفاوت Entity با شی یا object

    1 -Entity می تواند یک فیلد اصلی یا primary keys داشته باشد

    2-Entity می تواند دارای ارتباطی با Entity دیگر باشدمانند ارتباطات موجود در بانک اطلاعاتی



    تشابه Entity با داده رابطه ای relational data

    1-Entity یک ارتباط چند گانه مانند داده ها با دیگر entity می تواند داشته باشد

    2-Entity مانند داده ها می تواند کلید اصلی یا primary key داشته باشد



    تفاوت Entity با داده رابطه ای relational data

    1-Entity از داده ها با نوع پیچیده complex typesپشتیبانی می کند

    2-Entity از وراثت موجود در کلاسها پشتیبانی می کند

    3-Entity داده های فیزیکی را ذخیره نمی کند .



    پس Entity Framework چیست ؟

    درواقع Entity Framework تکنولوژی توسعه یافته ADO.Net است که فاصله بین برنامه نویسی شی گرایی و بانک اطلاعاتی رابطه ای را پر می کند .این فاصله معمولا تحت عنوان عدم تطابق شناخته می شود. و یک تکنیک برنامه نویسی برای تبدیل ارتباطات در Database به مفاهیم Object Oriented در برنامه نویسی است. در واقع می‌توان گفت که کلا‌س ها را به Table ها map می‌کند. وقتی که شما می‌خواهید به Database دسترسی پیدا کنید، یا اطلاعاتی را ذخیره کنید، این کارها را مستقیما بر‌ روی اشیاء ( Object تان ) انجام می‌دهید. Entity Framework مدل داده ها را به سه بخش تقسیم می کند 1-مدل مفهومی یا ادراکی 2-مدل منطقی 3- مدل فیزیکی


    پایان بخش اول

  3. #3
    کاربر دائمی آواتار haniyehghassami
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    شیراز
    سن
    37
    پست
    138

    نقل قول: توضیحاتی در مورد entity framework

    وای مرسی
    چه باحال بودن
    برم امتحانشون کنم یاد بگیرم
    بازم ممنونم

  4. #4
    کاربر دائمی آواتار electro_esma
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    تهران
    پست
    236

    نقل قول: توضیحاتی در مورد entity framework

    بخش دوم


    در بخش قبل معرفی مختصر در مورد Entity Data Moule یا مخفف EDMداشتیم ، اما در این بخش به شرح مفصلتری می پردازم

    قبل از آن شما بانک اطلاعاتی northwind را آماده کنید فایل این بانک را می توانید ازلینک دانلود کنید

    ایجاد یک EDM

    در نسخه های قبلی Entity Framework ما فقط می توانستیم برای بانک اطلاعاتی موجود از قبل یک مدل طراحی کنیم .که ما می توانستیم برای آن یک مدل مفهومی ایجاد کنیم .درواقع ما از بانک اطلاعاتی به مدل می رسیدیم ، اما حالا می خواهیم برعکس از مدل به بانک اطلاعاتی برسیم .

    از مهمترین امکانات اضافه شده به Entity Framework 4 بصورت 2 مورد زیر است :

    1-Model-first : به شما اجازه می دهد که ابتدا یک empty model ایجاد کنید ، و ابتدا model خودتان را تعریف کنید و سپس بانک اطلاعاتی و mapping و کلاسها را بر اساس model تعریف شده ایجاد کنید .

    2-Code-only: به شما اجازه می دهد که برای استفاده از Entity Framework با استفاده از Plain Old CLR Objects یا مختصرا

    POCO درواقع Entity خود را بدون استفاده از فایل EDMX ایجاد کنید .

    اکنون برای یادگیری ابتدایی سعی می کنم ابتدا بر اساس اینکه بانک اطلاعاتی موجود است یک مدل طراحی می کنیم و بعدا با مدلی سرو کار خواهیم داشت که بر عکس یعنی اول مدل بعد بانک اطلاعاتی

    آموزش حالت database-first approach

    ما در اینجا با بانک اطلاعاتی northwind آموزش را ارایه می دهم با sql-server 2008 R2 و Visual Studio 2010 و دانت نت 4

    شما می توانید از لینک زیر بانک اطلاعاتی را دانلود کنید .

    خوب اکنون پس از نصب بانک اطلاعاتی سراغ vs برویم و یک پروژه Windows Forms Application ایجاد می کنیم مطمن باشید که .Net Framework 4 انتخاب شده باشد.

    اکنون در پروژه ، سراغ منوی Project بروید و گزینه Add New Item را انتخاب کنید مانند شکل زیر

    Entity%20Framework13.jpg

    در شکل بالا دقت کنید که از قسمت سمت راست گزینه data را انتخاب کنید و سپس گزینه ADO.NET Entity Data Model

    را انتخاب کنید .با انتخاب این گزینه و وارد کردن نام مناسب ( در اینجا ما همان نام Model1.edmx را بصورت پیش فرض قبول می کنیم ) و دکمه Add را می زنیم .پس از آن وارد ویزارد Entity Data Model Wizard می شویم در این ویزارد ما گزینه

    Generates from database را انتخاب می کنیم و به مرحله بعدی می رویم .در این صفحه مطابق شکل زیر :


    Entity%20Framework43.jpg

    ما ابتدا باید مقدار connections را مشخص کنیم پس بر روی دکمه New Connection کلیک کنید تا وارد صفحه Connection Properties بشوید در این صفحه ابتدا از قسمت نام سرور server name نام سرور بانک اطلاعاتی را انتخاب کنید و برحسب تنظیمات دستگاه شما از لیست بانکهای اطلاعاتی نام بانکnorthwind را انتخاب کنید .صفحه ویزارد شما مشابه شکل زیر خواهد شد .در این صفحه تیک مقابل جمله save entity connection ….. باعث می شود که رشته اتصال به بانک اطلاعاتی با همان نام مشخص شده در زیر آن در فایلی تحت عنوان App.config ذخیره شود .اکنون به مرحله بعد می رویم مطابق شکل زیر

    Entity%20Framework45.jpg


    خوب اکنون در صفحه بالا جدولهای و view ها و stored Procedure های بانک اطلاعاتی شما لیست می شوند.

    در اینجا ما جدول Category و جدول products را انتخاب می کنیم و از قسمت view ها Products by Category را انتخاب می کنیم همچنین از stored procedure هم SalesByCategory را انتخاب می کنیم . و سپس دکمه finish را کلیک می کنیم .

    نکته : حتما قبل از زدن دکمه finish دو تیک Pluralize و include foreign… را دیدید

    Pluralize or singularize از مهمترین بهبودها در نسخه 4 EF است .در نسخه های قبلی EF خاصیت

    Entity Set Name and Entity Name properties با یک نام بودند که این مساله باعث گیجی برنامه نویس می شد که خوشبختانه در این نسخه 4 امکان تفکیک براحتی فراهم شده است مثلا برای

    category به شکل زیر دفت کنید


    Entity%20Framework65.jpg



    و در نهایت شما فایل module1.edmx را باز کنید که مطابق شکل زیر نمای جداول بانک اطلاعاتی رادر فضای ماژولار EDM نمایش می دهد ،


    Entity%20Framework74.jpg

  5. #5
    کاربر دائمی آواتار haniyehghassami
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    شیراز
    سن
    37
    پست
    138

    نقل قول: توضیحاتی در مورد entity framework

    سلام
    ممنون از اموزشتون
    یه سوال؟
    ایا توی دیزاین این مدل ها میشه رابطه های یک به چند و ... هم تعریف کرد؟

  6. #6
    کاربر دائمی آواتار electro_esma
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    تهران
    پست
    236

    نقل قول: توضیحاتی در مورد entity framework

    بخش سوم

    Model-First Approach
    در مطالب قبلی در مورد Entity و نحوه استفاده از ویزارد برای تولید کلاس در صورت وجود بانک صحبت کردم ، اما امروز می خواهم در مورد حالتی صحبت کنم که ما مدل کلاسها را ترسیم می کنیم و از این مدل می خواهیم بانک اطلاعاتی را ایجاد کنیم ، این ویژگی از جالبترین و مهمترین ویژگیهای اضافه شده در EF4 است که مایکروسافت آن را اضافه کرده است .

    مانند مقاله بخش 2 ، یک پروژه تحت ویندوز باز کنید ،از منوی Project کزینه Add New Item و سپس گزینه ADO.NET Entity Data Model را انتخاب کنید اما از پنجره ظاهر شده در زیر گزینه empty model را انتخاب کنید

    Entity%20Framework48.jpg

    ماژول خالی برای شما ایجاد می شود ، اکنون جعبه ابزار را باز کنید و ابزار زیر را مشاهده کنید

    Entity%20Framework49.jpg

    ابزارهایی را مشاهده می کنید که مختصرا آنها را توضیح می دهم.

    Entity : به شما اجازه می دهد که یک Entity را ایجاد و طراحی کنید

    Association : برای تعریف و ایجاد روابط میان دو عنصر Entity

    Inheritance : برای ایجاد رابطه وراثت بین عناصر و کلاسهای Entity

    زیاد نگران نباشید در ادامه مفصلا در مورد سه عنصر بالا توضیح خواهم داد. فعلا هدف آشنایی کلی با مفاهیم است .پس اکنون دست به کار می شویم و اولین entity را با استفاده از جعبه ابزار ایجاد می کنیم .یک Entity را از جعبه ابزار انتخاب کنید و آن را با کشیدن و رها کردن بر روی صفحه خالی ماژول بیاورید .

    Entity%20Framework410.jpg


    اکنون به اولین Entity ایجاد شده دقت کنید .

    . یک properties دارد با نام Id است علاوه بر آن این خصوصیت یک primary Key برای این Entity ایجاد شده است .شما می توانید با انتخاب آن از شکل خصوصیات و پارامترهای آن را عوض کنید .پس از تنظیم پارامترهای دلخواه ، شما می توانید بر حسب نیازتون عناصر دیگری به Entity اضافه کنید . برای اینکار کافیست برروی Entity کلیک راست کنید و گزینه Add را انتخاب کنید .


    Entity%20Framework511.jpg


    اگر دقت کنید با دو گزینه scalar property , complex property مواجه می شویم ، شما نگران نباشید از بخش بعدی یعنی بخش چهارم وارد جزییات خواهیم شد و موارد را به تفصیل شرح خواهم داد .

    اکنون شما گزینه scalar property را انتخاب کنید نام آن را CustomerFirstName قرار دهید و نوع آن یعنی Type را از نوع کارکتری یعنی string انتخاب کنید و بقیه را مطابق شکل زیر

    Entity%20Framework662.jpg

    و سپس خصوصیات دیگری را مطابق لیست زیر با نوعهای مشخص شده مانند حالت بالا اضافه کنید

    CustomerLastName (String)

    CustomerAddress (String)

    CustomerCity (String)

    CustomerState (String)

    CustomerZipCode (String)

    CustomerPhone (String)

    ModifyDateTime (DateTime)

    سپس یک Entity دیگر ایجاد کنید و عناصر زیر را به آن اضافه کنید

    OrderID (int32)

    CustomerID (int32)

    ItemID (int32)

    ModifyDateTime (DateTime)

    اکنون ما 2 Entity داریم ، حالا می خواهیم یک ارتباط بین این 2 برقرار کنیم برای اینکار از جعبه ابزار Associtation را انتخاب کنید و سپس از Entity1 فیلد Id را انتخاب کنید و از Entity2 فیلد customerId را انتخاب کنید رابطه شما بین این دو فیلد مانند شکل زیر خواهد شد .

  7. #7
    کاربر دائمی آواتار electro_esma
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    تهران
    پست
    236

    نقل قول: توضیحاتی در مورد entity framework

    ادامه پست 6..

    Entity%20Framework163.jpg

    اکنون نوبت ایجاد بانک اطلاعاتی از مدول و کلاسهای بالا است . اکنون بر روی فضای خالی از صفحه مازول کلیک راست بزنید و گزینه Generate Database From Model را انتخاب کنید صفحه زیر نمایش داده می شود .

    Entity%20Framework164.jpg

    در اینجا شما باید بانک اطلاعاتی و رشته اتصال را مشخص کنید .دکمه next را بزنید و به مرحله بعد بروید صفحه ای برای شما نمایش داده می شود که مجموعه دستورات DDl را برای ایجاد این جدولها در بانک اطلاعاتی را بصورت فایلی ذخیره می کند .

    Entity%20Framework1555.jpg


    دکمه Finish را کلیک کنید تا فایل مورد نظر شما ایجاد شود که حاوی کدهایی برای ایجاد بانک اطلاعاتی است .یک فایلی با فرمت .sql خواهد بود ، همانطور که در شکل بالا می بینید .اکنون برای اجرای اسکریپت بالا در فضای خالی از کد اسکریپت کلیک راست کرده و گزینه Execute Sql را مطابق شکل زیر انتخاب کنید ، اسکریپت شما در بانک اطلاعاتی مشخص شده ایجاد خواهد شد


    Entity%20Framework1556.jpg

    به بانک اطلاعاتی خودتان بروید تا جدولهای ایجاد شده را مشاهده کنید .

    ادامه دارد..

  8. #8

    نقل قول: توضیحاتی در مورد entity framework

    سلام!
    چند تا سوال در مورد Entity Framework داشتم.
    و یک تکنیک برنامه نویسی برای تبدیل ارتباطات در Database به مفاهیم Object Oriented در برنامه نویسی است. در واقع می‌توان گفت که کلا‌س ها را به Table ها map می‌کند.
    تا چه حدی از مفاهیم شیءگرایی استفاده میکند؟ (3 رکن اصلی شیءگرایی را می گویم)
    به Table ها map می‌کند یعنی چی؟

    وقتی که شما می‌خواهید به Database دسترسی پیدا کنید، یا اطلاعاتی را ذخیره کنید، این کارها را مستقیما بر‌ روی اشیاء ( Object تان ) انجام می‌دهید.
    آیا این دسترسی مستقیم که گفتید به معنای "معماری متصل" است که در ADO.Net، کنار گذاشته شد؟
    آیا مزایای معماری غیر متصل، که از DataSet استفاده میکند را دارد؟ (مثلا به جای اینکه 10 نفر همزمان از پایگاه استفاده کنند، 100 نفر استفاده کنند). اگر دارد، چگونه و اگر نه، آیا محدودیت تلقی نمیشود؟
    ممنون از ایجاد این تاپیک.

  9. #9
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1389
    محل زندگی
    تهران
    پست
    78

    نقل قول: توضیحاتی در مورد entity framework

    سلام . اگه Relation ها رو توی SQL Server (دیتا بیس اصلی) مشخص کنم بهتره یا این که
    توی EF Class ؟

  10. #10
    کاربر دائمی آواتار water_lily_2012
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    اصفهان
    پست
    659

    نقل قول: توضیحاتی در مورد entity framework

    سلام
    این روشی که شما فرمودید برای SQL Express عملی نیست؟
    در هنگام Generate Database From Model من نوع پایگاه داده را SQL Server DataBaseFile انتخاب کردم و در هنگام Execute Sql دچار خطا شد. البته خود فایل .mdf را ساخت ولی جداول ایجاد نشد.

  11. #11

    نقل قول: توضیحاتی در مورد entity framework

    این روشی که شما فرمودید برای SQL Express عملی نیست؟
    این مطلب رو ایشون نفرموده بودن!
    در همون پست اول ایشون گفت که مطالبی که اینجا میذاره رو از اون سایت می گیره!
    تقریبا میشه گفت که کپی پیست مطالب توی سایت هست. البته کپی پیست خیلی هم خوبه چون ایشون با شجاعت تمام لینک اصلی رو گذاشتن و مثل بعضی ها مطالب رو به اسم خودشون تموم نکردن.

  12. #12
    کاربر دائمی آواتار water_lily_2012
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    اصفهان
    پست
    659

    نقل قول: توضیحاتی در مورد entity framework

    سلام
    دوست عزیز
    حالا چرا ناراحت می شوید. من اصلا کاری به اینکه ایشون نوشته اند یا لینک هست، ندارم. این هم که نوشتم " شما فرمودید" می خواستم در صحبت احترام گذاشته باشم.
    من این تاپیک را خوندم و یک سوال برایم پیش آمد. هر کسی هم بلد هست لطف کنه جواب بده.
    در ضمن من که یادم نمی یاد مطلبی را به نام خودم زده باشم که شما این مطلب را نوشته اید.

  13. #13

    نقل قول: توضیحاتی در مورد entity framework

    در ضمن من که یادم نمی یاد مطلبی را به نام خودم زده باشم که شما این مطلب را نوشته اید.
    اصلا قصد جسارت نداشتم.منظورم از بعضی ها، بعضییییها بود
    این که یادآوری کردم که اون لینک اصلی مطالب هست منظورم این بود که این جا منتظر جواب موندن تقریبا بیهوده است، منم بیش از یک ماهه که سوال پرسیدم جوابی نشنیدم
    امیدوارم سوء تفاهمی پیش نیومده باشه.

  14. #14
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,028

    نقل قول: توضیحاتی در مورد entity framework

    ادامه نداره پست؟

  15. #15

    نقل قول: توضیحاتی در مورد entity framework

    نقل قول نوشته شده توسط fakhravari مشاهده تاپیک
    ادامه نداره پست؟
    همه اش همین بود

  16. #16
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,028

    نقل قول: توضیحاتی در مورد entity framework

    یه سمپل ندارید که چند جدول از این روش Inser , update , ... میشوند

  17. #17
    کاربر دائمی آواتار hadi-z
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    سن
    38
    پست
    421

    نقل قول: توضیحاتی در مورد entity framework

    سلام
    من تو پروژه ام از EF استفاده کردم ولی با یک مشکل مواجه شدم
    بعد از اضافه کردن فایل edmx به پروژه وقتی اونو اجرا می کنم یه پیغام خطا میده:
    Invalid token 'void' in class, struct, or interface member declaration

    کسی میتونه منو راهنمایی کنه که چرا این ارور رو میده و راهکاری براش هست یا نه؟
    پیشاپیش ممنون.

  18. #18
    کاربر دائمی آواتار modern_amin
    تاریخ عضویت
    آذر 1389
    محل زندگی
    کنار شما !
    پست
    595

    نقل قول: توضیحاتی در مورد entity framework

    دوستان از این فناوری جواب گرفتین...؟
    مزیتش چیه؟
    .
    دوستان سمپلی دارین؟

  19. #19
    کاربر دائمی
    تاریخ عضویت
    مهر 1388
    محل زندگی
    مشهد
    پست
    397

    نقل قول: توضیحاتی در مورد entity framework

    با سلام به همه دوستان
    اگه بانک اطلاعاتی اکسس باشه آیا میشه از EF هم استفاده نمود ؟؟؟

  20. #20
    کاربر دائمی آواتار محمدامین شریفی
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران - شیراز
    پست
    1,302

    نقل قول: توضیحاتی در مورد entity framework

    با سلام.

    من از EF و LAMBDA توی یک پروژه ی بزرگ تجاری به روش زیر استفاده کردم.

    1) برای select از lambda استفاده کردم.
    2) برای Create, Update, Delete از این روش استفاده کردم:
    http://msdn.microsoft.com/en-us/libr...recommand.aspx
    3) برای join های بزرگ هم از این روش استفاده کردم:
    http://msdn.microsoft.com/en-us/library/bb387145.aspx

    نقل قول نوشته شده توسط jmfnima مشاهده تاپیک
    با سلام به همه دوستان
    اگه بانک اطلاعاتی اکسس باشه آیا میشه از EF هم استفاده نمود ؟؟؟
    خیر، SQL 2005 به بالا.

    نقل قول نوشته شده توسط modern_amin مشاهده تاپیک
    دوستان از این فناوری جواب گرفتین...؟
    بله، در یک پروژه ی WPF با داده های زیاد
    در یک فروشگاه الکترونیک با asp.net

    نقل قول نوشته شده توسط modern_amin مشاهده تاپیک
    مزیتش چیه؟
    استفاده از LAMBDA و LINQ
    تبدیل جداول به کلاس های #C
    نقل قول نوشته شده توسط modern_amin مشاهده تاپیک
    دوستان سمپلی دارین؟
    شما با Entity designer در مرحله اول، زیاد سر و کار ندارید، کار اصلی شما واکشی از EF است که با کمک LINQ یا LAMBDA این کار را انجام می دهید.
    http://code.msdn.microsoft.com/101-L...mples-3fb9811b
    برای تبدیل LINQ به LAMBDA از نرم افزار های زیر می شود استفاده کرد
    http://www.linqpad.net
    http://www.sqltolinq.com
    اولین نرم افزار بهتر است.
    نقل قول نوشته شده توسط hadi-z مشاهده تاپیک
    سلام
    من تو پروژه ام از EF استفاده کردم ولی با یک مشکل مواجه شدم
    بعد از اضافه کردن فایل edmx به پروژه وقتی اونو اجرا می کنم یه پیغام خطا میده:
    Invalid token 'void' in class, struct, or interface member declaration

    کسی میتونه منو راهنمایی کنه که چرا این ارور رو میده و راهکاری براش هست یا نه؟
    پیشاپیش ممنون.
    من به این خطا بر نخوردم، کل ENTITY را پاک کن و از دوباره از دیتا بیس بگیر.
    اگر این کار عملی نیست، دلیلش را بگو تا من هم یاد بگیرم.
    نقل قول نوشته شده توسط fakhravari مشاهده تاپیک
    یه سمپل ندارید که چند جدول از این روش Inser , update , ... میشوند
    http://www.dotnetspark.com/kb/2737-e...perations.aspx

  21. #21
    کاربر دائمی آواتار saeid taheri
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    البرز - فردیس
    سن
    42
    پست
    200

    نقل قول: توضیحاتی در مورد entity framework

    با سلام
    من در پرکردن گرید از Linq و EF استفاده می کنم ولی هنگامی که می خواهم روی هر کدام از ردیف های گرید کار کنم دچار مشکل می شوم ، کدهای برنامه در زیر است
            private void RefreshData()
    {
    DataContext.Context.Refresh(RefreshMode.StoreWins, DataContext.Context.Persons);
    grdPersons.DataSource = (from p in DataContext.Context.Persons
    join pt in DataContext.Context.PersonType on p.PersonTypeID equals pt.PersonTypeID
    select new
    {
    p.fName,
    p.lName,
    p.pName,
    p.ShenasnameID,
    p.Phone,
    p.Mobile
    } ).ToList();
    }


            private void btnEdit_Click(object sender, EventArgs e)
    {
    if(grdPersons.SelectedRows.Count !=0)
    {
    //در خط زیر اشکال دارم
    Persons objPerson = (Persons)grdPersons.CurrentRow.DataBoundItem;
    ShowEdit(objPerson, false);
    }
    }


           private void ShowEdit(Persons objPerson,bool addingPerson)
    {
    EditPersonForm objEditPersonFrom = new EditPersonForm();

    objEditPersonFrom.personsBindingSource.DataSource = objPerson;
    if (!addingPerson)
    {
    objEditPersonFrom.PersonID1 = objPerson.PersonID;
    objEditPersonFrom.imgPerson.ImageLocation = objPerson.Picture;
    }
    if (objEditPersonFrom.ShowDialog() == DialogResult.OK)
    {
    objPerson.Jensiat = objEditPersonFrom.cmbJens.Items[objEditPersonFrom.cmbJens.SelectedIndex].ToString();
    objPerson.Picture = objEditPersonFrom.imgPerson.ImageLocation;
    objEditPersonFrom.personsBindingSource.EndEdit();
    if(addingPerson)
    DataContext.Context.Persons.AddObject(objPerson);
    try
    {
    DataContext.Context.SaveChanges();
    }
    catch{}
    }
    else
    {
    objEditPersonFrom.personsBindingSource.CancelEdit( );
    }
    RefreshData();
    }
    آخرین ویرایش به وسیله saeid taheri : دوشنبه 07 فروردین 1391 در 19:40 عصر

  22. #22
    کاربر دائمی آواتار محمدامین شریفی
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران - شیراز
    پست
    1,302

    نقل قول: توضیحاتی در مورد entity framework

    نقل قول نوشته شده توسط saeid taheri مشاهده تاپیک
    با سلام
    من در پرکردن گرید از Linq و EF استفاده می کنم ولی هنگامی که می خواهم روی هر کدام از ردیف های گرید کار کنم دچار مشکل می شوم ، کدهای برنامه در زیر است
            private void RefreshData()
    {
    DataContext.Context.Refresh(RefreshMode.StoreWins, DataContext.Context.Persons);
    grdPersons.DataSource = (from p in DataContext.Context.Persons
    join pt in DataContext.Context.PersonType on p.PersonTypeID equals pt.PersonTypeID
    select new
    {
    p.fName,
    p.lName,
    p.pName,
    p.ShenasnameID,
    p.Phone,
    p.Mobile
    } ).ToList();
    }


            private void btnEdit_Click(object sender, EventArgs e)
    {
    if(grdPersons.SelectedRows.Count !=0)
    {
    //در خط زیر اشکال دارم
    Persons objPerson = (Persons)grdPersons.CurrentRow.DataBoundItem;
    ShowEdit(objPerson, false);
    }
    }


           private void ShowEdit(Persons objPerson,bool addingPerson)
    {
    EditPersonForm objEditPersonFrom = new EditPersonForm();

    objEditPersonFrom.personsBindingSource.DataSource = objPerson;
    if (!addingPerson)
    {
    objEditPersonFrom.PersonID1 = objPerson.PersonID;
    objEditPersonFrom.imgPerson.ImageLocation = objPerson.Picture;
    }
    if (objEditPersonFrom.ShowDialog() == DialogResult.OK)
    {
    objPerson.Jensiat = objEditPersonFrom.cmbJens.Items[objEditPersonFrom.cmbJens.SelectedIndex].ToString();
    objPerson.Picture = objEditPersonFrom.imgPerson.ImageLocation;
    objEditPersonFrom.personsBindingSource.EndEdit();
    if(addingPerson)
    DataContext.Context.Persons.AddObject(objPerson);
    try
    {
    DataContext.Context.SaveChanges();
    }
    catch{}
    }
    else
    {
    objEditPersonFrom.personsBindingSource.CancelEdit( );
    }
    RefreshData();
    }


    grdPersons.DataSource = (from p in DataContext.Context.Persons
    join pt in DataContext.Context.PersonType on p.PersonTypeID equals pt.PersonTypeID
    select new Person2
    {
    p.fName,
    p.lName,
    p.pName,
    p.ShenasnameID,
    p.Phone,
    p.Mobile
    } ).ToList();
    }


    Person2 یه کلاس جدید است.
    آخرین ویرایش به وسیله aminsharifi67 : جمعه 18 فروردین 1391 در 11:07 صبح

  23. #23

    نقل قول: توضیحاتی در مورد entity framework

    سلام ممنون از تاپیکی که گذاشتین
    فقط یه سوال داشتم اون هم اینکه زمانی که از Entity Framwork استفاده می کنیم دستورات پشت صحنه ای که اجرا می شوند کجا هستند ؟
    مثلا وقتی که با یک دستور ما اطلاعاتی را به جدولی اضافه می کنیم دستورات پشت صحنه ای که این خط دستور ما رو می فهمه و اجر ا می کنه کجاست ؟
    ممنون

  24. #24
    کاربر دائمی آواتار actros
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    117

    نقل قول: توضیحاتی در مورد entity framework

    نقل قول نوشته شده توسط elhamkhodaei66 مشاهده تاپیک
    سلام ممنون از تاپیکی که گذاشتین
    فقط یه سوال داشتم اون هم اینکه زمانی که از Entity Framwork استفاده می کنیم دستورات پشت صحنه ای که اجرا می شوند کجا هستند ؟
    مثلا وقتی که با یک دستور ما اطلاعاتی را به جدولی اضافه می کنیم دستورات پشت صحنه ای که این خط دستور ما رو می فهمه و اجر ا می کنه کجاست ؟
    ممنون
    تو پوشه App_Code یه فایل هم MoeelName.Designer.vb یا cs هست که همه کار ها رو انجام میده
    تو خطی که اطلاعات جدید اضافه میکنی یه Break Point بذار ببینی
    هیچ وقت این فایل رو تغییر نده چون به محض آپدیت کردن مدل،تغییرات اعمالی از بین میره

  25. #25

    نقل قول: توضیحاتی در مورد entity framework

    دوستان سلام
    من از این روش استفاده کردم اما حالا برای نمایش نیاز به یه فیلد دارم که توضیح بر داده های داخل دیتابیس باشه مثلا اگه ای دی 0 بود بگه منقول واگه 1 بود بشه غیر منقول
    باید حتما به مدلم اضافه کنم چون باید در گرید نمایش داده بشه
    توی مدل میشه فیلدهای از نوع scaler-navigation and complex اضافه کرد اما نمی دونم چجوری ازشون استفاده کنم وشرطم برارم که اتوماتیک پر بشه
    ممنون

  26. #26
    کاربر جدید آواتار Roya.Rashidi
    تاریخ عضویت
    تیر 1393
    محل زندگی
    تهران
    پست
    25

    نقل قول: توضیحاتی در مورد entity framework

    سلام . اگه من entity رو یاد بگیرم دیگه نیاز نیست ado.net یاد بگیرم .
    و اینکه linq هم همینه ؟؟

  27. #27
    کاربر دائمی آواتار parvizwpf
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    TEH
    پست
    2,919

    نقل قول: توضیحاتی در مورد entity framework

    اینکه لزوما گفته بشه که دیگه نیازی نیست اونها رو استفاده کنیم هم غلطه. چون گاهی باز نیاز به استفاده اونها در محیط و شرایطش ممکنه پیش بیاد.

  28. #28
    کاربر جدید آواتار Roya.Rashidi
    تاریخ عضویت
    تیر 1393
    محل زندگی
    تهران
    پست
    25

    نقل قول: توضیحاتی در مورد entity framework

    نقل قول نوشته شده توسط parvizwpf مشاهده تاپیک
    اینکه لزوما گفته بشه که دیگه نیازی نیست اونها رو استفاده کنیم هم غلطه. چون گاهی باز نیاز به استفاده اونها در محیط و شرایطش ممکنه پیش بیاد.
    خب اینا همشون در نهایت یه کار میکنن که .
    قابلیت هاشون مگه فرق داره >

  29. #29

    نقل قول: توضیحاتی در مورد entity framework

    نقل قول نوشته شده توسط Roya.Rashidi مشاهده تاپیک
    خب اینا همشون در نهایت یه کار میکنن که .
    قابلیت هاشون مگه فرق داره >
    برای تفهیم بهتر فناوری LinQ یا EF بهتره با مفاهیم ADO.net آشنایت نسبی داشته باشین

  30. #30
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1391
    محل زندگی
    تهران
    پست
    30

    نقل قول: توضیحاتی در مورد entity framework

    سلام یه سوال دارم

    در Entity فرض کنید یک جدول به نام Test داریم

    حالا من یک ردیف با فرمان زیر اضافه کردم

    Entity EntObj = new Entity().Test.AddObject(TestObj);

    خب اگه عبارت زیر رو اجرا کنم اطلاعات با SQL مثلا synce میشه و دیتابیس آپدیت

    EntObj.savechange();

    اما سوال من اینه که اگه بخوام قبل از آپدیت کردن دیتابیس از آبجکتهای اضافه شده بصورت موقت در حافظه کوئری بگیرم یا احیانا تغییرشون بدم باید چکار کنم؟

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •