مشکل در ایجاد connectin در linq to sql
با عرض سلام خدمت دوستان عزیز
من در ایجاد connection در linq to sql مشکل دارم و هر چقدر در کتابهای لاتین جستجو کردم نتونستم یه connection به database بنویسم در موارد آموزشی که در سایت بود جدول رو در فایلlinq to sql classes اضافه میکردیم ولی من میخوام این connection رو با کد نویسی انجام بدم ممنون میشم دوستان کمکم کنید
نقل قول: مشکل در ایجاد connectin در linq to sql
از DataContextمیتونی به شی Connectionدسترسی پیدا کنی
Dim db AsNew DataClasses1DataContext
db.Connection.ConnectionString = "Data Source=SERVER\SERVER;Initial Catalog=DBTest;Integrated Security=True"
نقل قول: مشکل در ایجاد connectin در linq to sql
نقل قول:
نوشته شده توسط
Ali_Mor
از
DataContextمیتونی به شی Connectionدسترسی پیدا کنی
Dim db AsNew DataClasses1DataContext
db.Connection.ConnectionString = "Data Source=SERVER\SERVER;Initial Catalog=DBTest;Integrated Security=True"
ببخشید دوست عزیز
DataClasses1 چی هست ؟؟؟؟؟؟؟؟؟؟؟/
و آیا برای datacontext باید namespace خاصی رو اضافه کرد ؟؟؟؟
نقل قول: مشکل در ایجاد connectin در linq to sql
میخواستم ببینم که کد زیر کارش چی هست (فکر کنم که برای ساختن جدوله) و چرا وقتی من این کد را در C# مینویسم از من خطا میگیره
(من این پست رو اینجا نوشتم چون فکر کنم به مبحث connection مربوط باشه)
[Table(Name="Person")]
public class Person
{
private int _ID;
private int _IDRole;
private string _lastName;
private string _firstName;
[Column(Name="ID", Storage="_ID", DbType="int NOT NULL IDENTITY",
IsPrimaryKey=true, IsDbGenerated=true)]
public int ID
{
get { return _ID; }
set { _ID = value; }
}
}
[Column(Name="IDRole", Storage="_IDRole", DbType="int NOT NULL")]
public int IDRole
{
get { return _IDRole; }
set { _IDRole = value; }
}
[Column(Name="LastName", Storage="_lastName",
DbType="nvarchar NOT NULL")]
public string LastName
{
get { return _lastName; }
set { _lastName = value; }
}
[Column(Name="FirstName", Storage="_firstName",
DbType="nvarchar NOT NULL")]
public string FirstName
{
get { return _firstName; }
set { _firstName = value; }
}
}
و بعد از اون کد
DataContext زیر رو مینویسم خطای زیر رو میده
DataContext PeopleDataContext = new DataContext(connString);
Table<Person> People = PeopleDataContext.GetTable<Person>();
خطا
The type or namespace name 'DataContext' could not be found (are you missing a using directive or an assembly reference
نقل قول: مشکل در ایجاد connectin در linq to sql
نقل قول:
DataClasses1 چی هست ؟؟؟؟؟؟؟؟؟؟؟/
و آیا برای datacontext باید namespace خاصی رو اضافه کرد ؟؟؟؟
در واقع فایلlinq to sql classe که پسوند dbml دارد، شامل چند کلاس است که یکی از آنها از نوع DataContext است و برای هر جدول هم که در آن گذاشتی یک کلاس می سازد(همنام همان جدول بانک).برای دیدن این کلاس ها باید فایلی با پسوند .designer.cs رو ببینی(توصیه می کنم حتما با این کدها که توسط خود ویژوال استودیو تولید شده کلنجار بری، خیلی برای شروع آموزنده است)
نقل قول:
میخواستم ببینم که کد زیر کارش چی هست (فکر کنم که برای ساختن جدوله)
کدی که گذاشتی در واقع یکی از آن کلاسها است که در بالا توضیح دادم و همانطور که درست حدس زدی مربوط به یک جدول در بانک(البته فکر می کنم این کدها را دستی نوشتی یا از یک کتابی گرفتی، چون یک کم با کدهای تولیدی خود ویژوال استودید فرق دارد). مشکل از این کدها نیست. احتمالا مشکل از این است که فراموش کرده ای کلاسDataContext رو پیاده سازی کنی. بازم توصیه می کنم که کدهای تولیدی توسط ویژوال استودیو رو ببینی، اون موقع می فهمی دقیقا DataContext چه می کنه
اگر پاسخ هام گنگ بوده یا هنوز هم گنگ هست ببخش. سوال بود اگر بلد باشم در خدمتم
نقل قول: مشکل در ایجاد connectin در linq to sql
نقل قول:
نوشته شده توسط
Ali_Mor
در واقع فایلlinq to sql classe که پسوند dbml دارد، شامل چند کلاس است که یکی از آنها از نوع DataContext است و برای هر جدول هم که در آن گذاشتی یک کلاس می سازد(همنام همان جدول بانک).برای دیدن این کلاس ها باید فایلی با پسوند .designer.cs رو ببینی(توصیه می کنم حتما با این کدها که توسط خود ویژوال استودیو تولید شده کلنجار بری، خیلی برای شروع آموزنده است)
کدی که گذاشتی در واقع یکی از آن کلاسها است که در بالا توضیح دادم و همانطور که درست حدس زدی مربوط به یک جدول در بانک(البته فکر می کنم این کدها را دستی نوشتی یا از یک کتابی گرفتی، چون یک کم با کدهای تولیدی خود ویژوال استودید فرق دارد). مشکل از این کدها نیست. احتمالا مشکل از این است که فراموش کرده ای کلاسDataContext رو پیاده سازی کنی. بازم توصیه می کنم که کدهای تولیدی توسط ویژوال استودیو رو ببینی، اون موقع می فهمی دقیقا DataContext چه می کنه
اگر پاسخ هام گنگ بوده یا هنوز هم گنگ هست ببخش. سوال بود اگر بلد باشم در خدمتم
دوست عزیز ممنونم که به سوالاتم پاسخ میدهی
دوست عزیز من میخوام بون اینکه جدول خودم رو به پروژم اضافه کنم(بدون استفاده از فایل dbml ) به database خودم کار کنم آیا این کار امکان پذیر هست
نقل قول: مشکل در ایجاد connectin در linq to sql
ببین برادر، اون فایل dbml حاوی تعدادی کلاسه. این کلاسها باید پیاده سازی بشه. چه در این فایل و چه در فایل های دیگه. خوبی dbml اینه که خود ویژوال استودیو این کدها رو برات تولید می کنه. خودت هم میتونی دستی بنویسی. ولی بالاخره باید پیاده سازی بشه.
من معمولا از فایل dbml استفاده می کنم و اگر خواستم اون کلاسها رو توسعه بدم و خودم چیزی بهش اضافه کنم، یک کلاس partial همنام اون کلاس میسازم و کدهام رو توش مینویسم. چون در کدهای تولیدی خود ویژوال استودیو اگر چیزی بنویسی احتمال دارد پاک شود(اگر روی یکی از جداول در dbml راست کلیک کنی و view code رو بزنی خودش این کلاس partial همنام رو برات میسازه)
کشیدن و انداختن جداول در dbml ربطی به کانکت شدن به بانک نداره. مثلا وقتی شما با کشیدن و رها کردن یک جدول یک دیتاست میساختی به این معنی بود که به بانک کانکت شدی؟؟ مسلما خیر. بلکه با این کار یک دیتاست customize شده برای اون جدول در بانک ساخته بودی که میتونستی بعد از کانکت شدن به بانک توسط Adapter پُرش کنی و ازش استفاده کنی. در واقع اون دیتا ست هم که ساخته می شد یک کلاس بود.
البته میشد بدون ساخت هیچگونه دیتاستی (به روشی که گفتم) ،هم داده ها را از بانک خوند اما در لینکیو حتما باید کلاس هایی برای جداول بانک پیاده سازی کنی و نیز یک کلاس از نوع DataContext نیز برای نگاشت شدن به کل بانک پیاده سازی بشه.
به زبان غیر علمی و خودمانی دیتا کانتکست در لینکیو معادل دیتا ست در قدیم است و هر کلاس مربوط به یک جدول در لینکیو هم معادل دیتاتیبل های درون اون دیتاست خواهد بود
نقل قول: مشکل در ایجاد connectin در linq to sql
با سلام
علی جان شرمنده ما اینقدر iq ضعیفی داریم
میخواستم ببینم کار کد زیر چیست(چون به موضوع همین تاپیک مربوط میشه تاپیک جدیدی نزدم)
Northwnd nw = new Northwnd(@"northwnd.mdf");
نقل قول: مشکل در ایجاد connectin در linq to sql
سوال پرسیدن نشانه ضعیف بودن iq نیست. با این حرفا دیگه جرات نمی کنه سوال بپرسه.
در مورد کد بالا، چیزی زیادی نفهمیدم. اگر قطعه کد بیشتری میگذاشتی بهتر بود. اگر مربوط به لینکیو باشد حدس میزنم northwind همون کلاسی که از DataContext ارث می بره. چون اونها هم در سازنده خودشون میتونن کانکشن استرینگ رو بگیرند.
نقل قول: مشکل در ایجاد connectin در linq to sql
کد با دیتابیس دیفالت در SQL ، و نمونه ای از آن را تولید و آدرس فایل mdf. به آن ست شده تا از فیلدهای آن همانند کلاس استفاده گردد.