ورود

View Full Version : مشکل در اضافه کردن دیتا بیس SQL برای استفاده از LINQ



shervinrv
دوشنبه 27 تیر 1390, 11:25 صبح
سلام دوستان
من 3 روزه دارم تلاش میکنم تا تاپیک نزنم
تاپیک آموزش LINQ از ابتدا تا انتها رو خوندم
2 تا PDF دیگه هم دانلود کردم و خوندم
ولی انگار تو همه آموزشا از قسمت اضافه کردن دیتابیس زود میپرن
شایدم آموزشا کاملن و مشکل من چیز دیگه ای هست
به هر حال الان کارم گیر کرده واسه همین قضیه ممنون میشم دوستان کمک کنن

ببینید من یک کلاس LINQ TO SQL ایجاد کردم
و طبق شکل زیر 2 تا جدولم رو درگ کردم توی برنامه
http://034.img98.net/out.php/i483932_LINQ.jpg
ولی الان دیگه نمیدونم چیکار باید بکنم
توی تمام آموزشا بعد از اینکه مثلا جدول TB رو اضافه میکنن میرن توی کد مینویسن
DIM TB AS NEW TBDATACONTEXT
حتی توی PDF انگلیسی هم دقیقا بعد از درگ کردن جدول اینکارو کرده بود
ولی من اصلا چنین چیزی ندارم
ینی مثلا USERFILEDATACONTEXT یا SUERNAMEDATACONTEXT ندارم
آیا اینا خودشون ایجاد میشن یا من باید قبلا جایی اینارو تعریف کنم ؟

خلاصه الان باید چیکار کنم که بتونم با دیتابیس کار کنم

یه سوال دیگه دارم که همینجا میپرسم
من جدول های دیگه ای هم دارم آیا اونارو هم تو همین کلاس باید درگ کنم یا واسه اونا یه LINQ TO SQL دیگه باید ایجاد کنم ؟

پیشاپیش از کمکتون ممنونم

raziee
دوشنبه 27 تیر 1390, 13:45 عصر
با سلام.

توی تمام آموزشا بعد از اینکه مثلا جدول TB رو اضافه میکنن میرن توی کد مینویسن
DIM TB AS NEW TBDATACONTEXT

توجه داشته باشید که در زمان ایجاد یک شیء جدید از نوع LINQ to SQL Classes یک نام رو وارد میکنید به عنوان مثال DataModel.dbml و بعد از اضافه کردن شیء جدید به پروژه از طریق DataModelDataContext میتونید کوئری بنویسید.
درواقع نام DataContext همون نامی هست که در زمان اضافه کردن َشیء به پروژه میدید.
موضوع دیگه ای که باید توجه داشته باشید namespace هست. اگه namespace کلاسی که دارید کوئری مینویسید با namespace کلاس DataModelDataContext یکی نباشه باید namespace مربوطه رو بوسیله using به کلاستون اضافه کنید.


من جدول های دیگه ای هم دارم آیا اونارو هم تو همین کلاس باید درگ کنم یا واسه اونا یه LINQ TO SQL دیگه باید ایجاد کنم ؟
هر چند تا جدولی رو که داری میتونی توی همین DataContext بیارید و استفاده کنید.

shervinrv
دوشنبه 27 تیر 1390, 15:16 عصر
دوست عزیز ممنون بابت راهنماییتون
الان یه چیزیو متوجه شدم
اینکه نمیتونم کار کنم بخاطر سیلورلایت بودن پروژس
الان یه پروژه ویندوز اپلیکیشن درست کردم خیلی راحت کار انجام شد
ولی توی پروژه سیلورلایت چه از نوع WEB APPLICATION یا WEB SITE هیچکدوم من نمیتونم بنویسم DIM DB AS NEW DBDATACONTEXT در صورتی که همین مراحل رو توی پروژه ویندوز اپ میرم جواب میده
برای هر دو هم IMPORTS SYSTEM.LINQ رو میزنم
نمیدونم چرا اینجوریه

چیکار باید بکنم ؟

shervinrv
سه شنبه 28 تیر 1390, 09:38 صبح
هیچکدوم از دوستان راهی به ذهنشون نمیرسه ؟
خیلی کارم لنگ مونده
5-6 روزه کار تعطیله سر همین قضیه
از جستحجو هم چیزی کم نذاشتم
دائم دارم تو فورومای ایرانی و خارجی میگردم ولی متاسفانه انگار کسی این مشکلو نداره

amin tavakoli
جمعه 31 تیر 1390, 12:03 عصر
دوست عزیز من با c# کار میکنم گفتم شاید کدهای من بتونه کمکت کنه بعد از اینکه جدول هات رو درگ کردی به طور اتوماتیک در قسمت soluotion explorer
data contex اضافه میشه حالا باید در قسمت تعریف متغییر فرم اصلی این کد را وارد کنی در واقع یک شی از data contex تعریف کنی
DataClasses1DataContext dc = new DataClasses1DataContext();
که البته باید نام data contex خودت رو بزاری
بعد هم روی هر دکمه که خواستی از دستورات linq استفاده کنی مثلا من با دستور زیر اطلاعات پایگاه رو به یک گرید اختصاص داده
ام
var qoury = from p in dc.customers
select p;
dataGpb.DataSource = qoury;

که customers نام جدول و dataGpb نام گریدم

shervinrv
جمعه 31 تیر 1390, 12:25 عصر
ممنون دوست عزیز
ولی من بالا هم عرض کردم که توی سیلورلایت نمیشه اینجوری کار کرد
تو ASP.NET و Windows Application میشه ولی سیلورلایت نه

یه سری آموزش واسه Ria Service و ... ولی واقعا گیج کنندس

ینی یه راه ساده نیست که بشه با سیلورلایت به دیتابیس وصل شد ؟