PDA

View Full Version : مشکل در EntityFramework



baidin
چهارشنبه 27 اردیبهشت 1396, 00:58 صبح
سلام
من یک solution ایجاد کردم و داخل آن یک پروژه و میتونم با استفاده از Entity Framework داده های تیبل را در دیتا گرید نمایش بدم.
در ادامه یک پروژه دیگه به این سلوشن اضافه کردم و متاسفانه نمیتونم موجود در تیبل را در دیتا گرید این پروژه نمایش بدم. خطا نمیده ولی داده ای هم نمایش داده نمیشه.
ریفرنس ها را هم رعایت کردم. ممنون میشم دوستان راهنمایی کنند. متشکرم

در پروژه BusinessLogic:


namespace BusinessLogic.DataBaseClass
{
public class clsTbl_Student
{
public List<Tbl_Student> GetAll()
{
LinqTestEntities Db = new LinqTestEntities();
var q = from a in Db.Tbl_Student
select a;
return q.ToList();
}
}
}



namespace BusinessLogic
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}


private void Form1_Load(object sender, EventArgs e)
{

DataBaseClass.clsTbl_Student obj = new DataBaseClass.clsTbl_Student();
dataGridView1.DataSource = obj.GetAll();
}
}
}



کد بالا در BusinessLogic هستش و داده ها در دیتا گرید به درستی نمایش داده می شود. منتهی در پروژه دوم موجود در همین سلوشن داده ای در دیتاگرید نمایش داده نمیشه:



namespace test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}


private void Form1_Load(object sender, EventArgs e)
{
BusinessLogic.DataBaseClass.clsTbl_Student obj = new BusinessLogic.DataBaseClass.clsTbl_Student();
dataGridView1.DataSource = obj.GetAll();
}
}
}

ژیار رحیمی
چهارشنبه 27 اردیبهشت 1396, 01:10 صبح
در پروژه دوم رفرنس های EntityFramework رو به اضافه رفرنس (لینک) BusinessLogic و همچنین app.config در پروژه اول رو به پروژه دوم اضافه کن که به ConnectionString دسترسی داشته باشد.

baidin
چهارشنبه 27 اردیبهشت 1396, 01:26 صبح
در پروژه دوم رفرنس های EntityFramework رو به اضافه رفرنس (لینک) BusinessLogic و همچنین app.config در پروژه اول رو به پروژه دوم اضافه کن که به ConnectionString دسترسی داشته باشد.
مشکل از app.config بود و حل شد. ولی دوست عزیز در برنامه نویسی لایه ای این صحیح هستش که لایه presentation به کانکشن استرینگ دسترسی داشته باشه؟
متشکرم

ژیار رحیمی
چهارشنبه 27 اردیبهشت 1396, 22:24 عصر
در مد طراحی(کد نویسی) باید دسترسی داشته باشد چون در حالت لایه بندی هر لایه بصورت یک پروژه جدا پیاده سازی میشود پس در صورت استفاده از app.config هر بخش باید به آن بخش از پروژه اضافه شود.در حالت release تنها به یک app.config لازم هست در کنار فایل exe شما وجود داشته باشه و تمام لایه ها از همان فایل استفاده می کنند.در کل لایه بندی در سطح برنامه نویسی برای نگهداری و توسعه لحاظ میشود که تیم برنامه نویسی در توسعه و نگهداری پروژه با مشکلات کمتری مواجه شوند. کاربر نهایی اطلاعی از لایه بندی پروژه و نحوه پیاده سازی آن ندارد.