دسته بندی ها
14:30 1399/11/23

ساخت یک نمونه از شی دیتابیس در انتیتی فریم ورک در سی شارپ

مشخصات سوال کننده :
کاربر : zahramokhrari     امتیاز کاربر : 1     رتبه کاربر : 150
دسته بندی : سی شارپ Entity Framework

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3352
1 نظر
fateme : لطفا توضیحات بیشتری بدید. یا اینکه کدی که نوشتید رو قرار بدید. دیتابیس رو می خواید کجا بسازید؟ آیا پروژتون لایه بندی شده؟ توضیحاتتون خیلی کم هست.

امتیاز کاربر : 1617   رتبه کاربر : 2   تاریخ ثبت : 08:08 1399/11/23
پاسخ دهنده : hamid_b 15:28 1399/11/25

کاش بیشتر توضیح میدادید و در مورد ساختار پروژه خودتون هم قدری توضیح میدادید. موارد زیر رو توی پروژه خودتون بررسی کنید.

اول اینکه اگر لایه بندی انجام دادید بررسی کنید که آیا بین لایه های مختلف پروژه ارتباط (رفرنس) برقرار کردید. به عنوان مثال در تصویر زیر پروژه ما 2 لایه دارد. لایه اول به عنوان Presentation و لایه دوم هم لایه DataModelLayer. خب لایه دیتا باید با لایه اصلی در ارتباط باشد. بنابراین روی نام پروژه که در این مثال Automation هست کلید راست کنید.


لایه بندی پروژه در سی شارپ

 

خب حالا طبق تصویر زیر گزینه Project Dependencies را انتخاب کنید:

 

 

در فرم باز شده لایه DataModelLayer را تیک بزنید. با انجام این کار بین لایه Presentation و لایه DataModelLayer شما ارتباط برقرار می شود.

 

چگونه در سی شارپ پروژه را چند لابه کنیم

 

خب حالا میتونید از دیتابیس توی پروژه استفاده کنید. کافیه هر جایی که نیاز دارید یک نمونه از شی دیتابیس تعریف کنید.

 

using System;
using System.Windows.Forms;
using DataModelLayer.Models;
using Automation.Modula;
using System.IO;

namespace Automation.Admin_panel
{
    public partial class frm_createnews : Form
    {
        Automation_Entities database = new Automation_Entities();

        public frm_createnews()
        {
            InitializeComponent();
        }
    }
}

در دستورات بالا و در قسمت using ها دقت کنید که از لایه DataModelLayer هم using نوشته شده. اگر این using رو انجام ندید دسترسی به شی دیتابیس که در این لایه هست ندارید.

به این پاسخ امتیاز بدهید    0
امتیاز: 510 رتبه: 4
پاسخ دهنده : zahramokhrari 15:46 1399/11/25

سلام و وقت بخیر 

پروژه من لایه بندی شده 

و اتفاقا DataMoselLayer هم using کردم 

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

Automation_systemEntities database = new Automation_systemEntities(); 
ویرایش شده در شنبه 25 بهمن 1399 ساعت 16:00:53
به این پاسخ امتیاز بدهید    0
امتیاز: 1 رتبه: 150
2 نظر
fateme : خب خطایی که میده چی هست؟ چرا هیچ اشاره ای به خطا نمی کنید پس ؟ اینجوری فقط میشه کلی حرف زد

امتیاز کاربر : 1617   رتبه کاربر : 2   تاریخ ثبت : 04:00 1399/11/25
hamid_b : در قسمت public نمیخونه ؟؟؟ قسمت public یعنی چی؟ لطفا واضح تر بگید یا حداقل بفرمایید خطاتون چی هست !!!

امتیاز کاربر : 510   رتبه کاربر : 4   تاریخ ثبت : 04:02 1399/11/25
پاسخ دهنده : zahramokhrari 11:49 1399/12/01

ببینید عزیزان ما‌ برای ساختن دیتابیس در codbehind باید اول using کنیم که من این کار رو کردم و دوم اسم دیتابیس رو بیاریم ینی در قسمت public یک ‌نمونه از دیتابیس بسازیم. حالا من وقتی میخوام یک نمونه بسازم باید یک کد یک‌خطی براش بنویسم ینی در واقع ازش نمونه برداری کنم. منتها برنامه اینجا خطایی نمیده فقط جمله Automation_systemEntities رو به من نشون نمیده که دستور رو کامل بنویسم. دستور اینه:

Automation_systemEntities database = new Automation_systemEntities();
ویرایش شده در جمعه 1 اسفند 1399 ساعت 13:55:50
به این پاسخ امتیاز بدهید    0
امتیاز: 1 رتبه: 150
1 نظر
fateme : اگر نشون نمیده رفرنس ها رو به درستی اضافه نکردید. هیچ دلیل دیگه ای نمیتونه داشته باشه.

امتیاز کاربر : 1617   رتبه کاربر : 2   تاریخ ثبت : 01:56 1399/12/01
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود