مشاهده دست آورد نظرسنجی: دوستم نظرت در مورد آموزش چطور بود؟

رای دهنده
98. شما نمی توانید در این رای گیری رای بدهید
  • خوب بود

    82 83.67%
  • بدرد بخور بود

    14 14.29%
  • بدرد بخور نبود

    1 1.02%
  • بد بود

    1 1.02%
صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 59

نام تاپیک: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

  1. #1
    کاربر دائمی آواتار mohsen_f_b
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    سن
    34
    پست
    401

    Post آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    باسلام و عرض ادب خدمت تمام دوستان عزیز و گرامی خودم در سایت بزرگ برنامه نویسان ایران زمین.
    بنده چند وقتی هستش که از ADO.NET سوئیچ کردم به برنامه نویسی به سبک Entity Framework که این مدیون جناب آقای کرامتی و کلاس های خوب ایشان هستم.
    چند روزی بود که می خواستم از Entity Freamwork در معماری لایه ای استفاده کنم.
    همه جا خوندم که Entity Framework قسمت Data Access Layer رو در بر میگیره.شروع کردم به جستجو و کسب اطلاعات تا اینکه توانستم اینکار رو انجام بدم.
    شاید خنده تون بگیره که این کاره ساده چیه که من دارم در موردش تاپیک میزنم.اینو که همه بلدن.
    من این آموزش رو میزارم برای کسایی که تازه وارد هستن و دنبال یک منبع فارسی برای این نوع برنامه نویسی هستن.
    یکی از استادهای دانشگاهم همیشه می گفت راه رسیدن به خدا زیاده، منم اینجا از این جمله استادم استفاده می کنم و می گم راه و روش برنامه نویسی معماری لایه ای بهمراه Entity Framework زیاده و منم یک راهشو که شاید بدترین نوع باشه رو اینجا می گم تا یک سرنخ برای شروع و رسیدن به نحوه دیگه کدنویسی در این زمینه برای خودم و دوستان باشد.
    به امید اینکه این آموزش مورد توجه دوستان واقع شود.
    از دوستان دیگر که تجربه بسیار بالاتری در این زمینه دارن خواهش می کنم که روشهای دیگه ای که استفاده می کنن به ما هم یاد بدن.
    توجه داشته باشید در آخر سورس برنامه بهمراه فایل آموزشی برای دانلود قرار داده می شود.
    ببخشید که پرحرفی کردم.
    بریم و شروع کنم.

    برنامه تحت وب نوشته می شود
    زبان برنامه نویسی : C#‎‎‎‎‎
    بانک اطلاعاتی : SQL Server

    فایل پروژه اضافه شد.

    قدم اول : سناریو
    خوب دوستان شروع کنیم. میخواهیم بک برنامه بنویسیم که نام، نام خانوادگی بهمراه شماره تلفن همراه شخص رو بگیریم و در دیتابیس ذخیره کنیم.
    بتونیم با تکنولوژی های معماری لایه و Entity Framework هر 4 عمل اصلی یعنی اضافه کردن، ویرایش کردن، حذف کردن و نمایش را اجرا کنیم.
    نکته : از Entity Framework – Database First استفاده می کنیم.

    قدم دوم : ساخت پایگاه داده
    یک پایگاه داده با نام Person ایجاد کنید.
    در این پایگاه داده یک جدول با نام Contact با اجزای زیر بسازین.



    اینم از دیتابیس

    قدم سوم : ساخت Stored Procedures مورد نیاز
    ما برای همه عملیات ها از Stored Procedures استفاده می کنیم.
    خوب نیاز به 5 تا Stored Procedures برای این برنامه داریم.
    1- Contact_SelectAll که یک resultset حاوی تمامی رکوردهای جدول Contact را برای ما برمیگرداند.

    CREATE PROCEDURE Contact_SelectAll

    AS

    SET NOCOUNT ON

    SELECT ID,Name,Family,Mobile,InsertDate,UpdateDate

    FROM Contact

    RETURN



    2- Contact_SelectById که یک resultset حاوی رکورد مورد نظر ما از جدول Contact برمیگرداند.

    CREATE PROCEDURE Contact_SelectById
    @ID int
    AS
    SET NOCOUNT ON

    SELECT ID,Name,Family,Mobile,InsertDate,UpdateDate
    FROM Contact
    Where ID = @ID

    RETURN


    3- Contact_Insert برای انجام عملیات Insert که یک resultset برابر ID رکورد ثبت شده برای ما برمیگرداند


    CREATE PROCEDURE Contact_Insert
    @Name nVarchar(50),
    @Family nVarchar(50),
    @Mobile nVarchar(16),
    @InsertDate Datetime,
    @UpdateDate Datetime
    AS
    Insert Into Contact
    (Name,Family,Mobile,InsertDate,UpdateDate)
    Values
    (@Name,@Family,@Mobile,@InsertDate,@Updatedate)

    SELECT CAST(SCOPE_IDENTITY() AS INT) AS Id

    4- Contact_Update برای انجام عملیات ویرایش استفاده میشود


    CREATE PROCEDURE Contact_Update
    @ID int,
    @Name nVarchar(50),
    @Family nVarchar(50),
    @Mobile nVarchar(16),
    @InsertDate Datetime
    AS
    SET NOCOUNT ON

    Update Contact
    Set Name = @Name,
    Family=@Family,
    Mobile=@Mobile,
    InsertDate=@InsertDate
    Where
    ID = @ID
    RETURN

    5- Contact_Delete برای حذف رکورد مورد نظر


    CREATE PROCEDURE Contact_Delete
    @ID int
    AS
    SET NOCOUNT ON
    Delete Contact
    Where
    ID = @ID
    RETURN

    خوب عزیزان اینم از Stored Procedures های مورد نیاز



    قدم چهارم : ساخت لایه Data Access Layer
    1-
    1- باز کردن Visual Studio 2010
    2- ایجاد یک پروژه جدید از نوع Class Library project با زبان C#‎‎‎‎‎‎‎‎ به نام PersonDAL
    3- توجه داشته باشید Solution Name را بروی Person تغییر نام دهید.




    4- حالا بروی نام Project کلیک راست کنید، Add و بعدش New Item



    5- انتخاب ADO.NET Entity Data Model و اسمش رو برابر با PersonDataModel قرار دهید

    6- Generate from database رو انتخاب کنید و بروی Next کلیک کنید


    7- پایگاه داده خود را انتخاب کنید

    8- انتخاب Table و Stored Procedures های طراحی شده و کلیک بر روی Finishe


    9- تا اینجا مدل مدنظر خودتون رو به پروژه اضافه کردین حالا یک کلاس به نام CantactData.cs به پروژه اضافه کنید.



    10- حالا کلاس را باز کنید و در بدنه اصلی کلاس

    class ContactData

    را به
    public static class ContactData

    تغییر دهید.


    11- حالا باید Stored Procedures را بعنوان یک Function به Entity Framework بشناسانیم.
    برای اینکار بر روی PersonDataModel.edmx کلیک کنید تا صفحه مربوطه باز شود.


    بروی Contact کلیک راست کرده و Add بعد Funcation Import… کلیک کرده

    صفحه باز شده به شکل زیر میباشد

    از Combo Box مربوط به Stored Procedure Name اسم Cantact_ Delete رو انتخاب کنید و گزینه None رو انتخاب کنید و نام Function را وارد کنید

    دوباره به مرحله Function Import بروید تا Function بعدی را Add کنیم
    خوب به Add کردن Function ثبت اطلاعات جدید Insert دقت کنید.
    به دلیل اینکه بعد از ثبت اطلاعات ID رکورد جدید را برمیگرداند به شکل زیر تعریف می شود.


    برای 2 Stored Procedure مربوط به نمایش اطلاعات Cantact_SelectAll و Cantact_SelectById به عکس هر 2 توجه فرمایید.
    اول به صفحه Function Import رفته و مانند عکس ها زیر عمل کنید



    و برای Stored Procedure ویرایش اطلاعات Contact_Update به صفحه Function Import رفته و تنظیمات مانند عکس را انجام دهید


    خوب حالا تمام Function های مورد نیاز آماده شد.
    12- حالا به کلاسی که ساخته ایم میرویم و عملیات های مورد نیاز رو برای Function ها تعریف میکنیم.
    کدها به شکل زیر میباشد.

    #region Insert
    public static int Insert(string name, string family, string mobile, DateTime insertDate)
    {
    using (PersonEntities db = new PersonEntities())
    {
    return Insert(db, name, family, mobile, insertDate);
    }
    }
    public static int Insert(PersonEntities db, string name, string family, string mobile, DateTime insertDate)
    {
    return db.Cantact_Insert(name, family, mobile, insertDate, insertDate).ElementAt(0).Value;
    }
    #endregion


    #region Update
    public static void Update(int id, string name, string family, string mobile, DateTime updateDate)
    {
    using (PersonEntities db = new PersonEntities())
    {
    Update(db, id, name, family, mobile, updateDate);
    }
    }
    public static void Update(PersonEntities db, int id, string name,
    string family, string mobile, DateTime updateDate)
    {
    db.Contact_Update(id, name, family, mobile, updateDate);
    }
    #endregion

    #region Delete
    public static void Delete(int id)
    {
    using (PersonEntities db = new PersonEntities())
    {
    Delete(db, id);
    }
    }
    public static void Delete(PersonEntities db, int id)
    {
    db.Contact_Delete(id);
    }
    #endregion

    #region SelectById
    public static Contact SelectById(int id)
    {
    using (PersonEntities db = new PersonEntities())
    {
    return SelectById(db, id);
    }
    }
    public static Contact SelectById(PersonEntities db, int id)
    {
    return db.Contact_SelectById(id).ElementAtOrDefault(0);
    }
    #endregion

    #region Select
    public static List<Contact> SelectAll()
    {
    using (PersonEntities db = new PersonEntities())
    {
    return SelectAll(db);
    }
    }
    public static List<Contact> SelectAll(PersonEntities db)
    {
    return db.Contact_SelectAll().ToList();
    }
    #endregion





    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace PersonDAL
    {
    public static class ContactData
    {
    #region Insert
    public static int Insert(string name, string family, string mobile, DateTime insertDate)
    {
    using (PersonEntities db = new PersonEntities())
    {
    return Insert(db, name, family, mobile, insertDate);
    }
    }
    public static int Insert(PersonEntities db, string name, string family, string mobile, DateTime insertDate)
    {
    return db.Cantact_Insert(name, family, mobile, insertDate, insertDate).ElementAt(0).Value;
    }
    #endregion

    #region Update
    public static void Update(int id, string name, string family, string mobile, DateTime updateDate)
    {
    using (PersonEntities db = new PersonEntities())
    {
    Update(db, id, name, family, mobile, updateDate);
    }
    }
    public static void Update(PersonEntities db, int id, string name,
    string family, string mobile, DateTime updateDate)
    {
    db.Contact_Update(id, name, family, mobile, updateDate);
    }
    #endregion

    #region Delete
    public static void Delete(int id)
    {
    using (PersonEntities db = new PersonEntities())
    {
    Delete(db, id);
    }
    }
    public static void Delete(PersonEntities db, int id)
    {
    db.Contact_Delete(id);
    }
    #endregion

    #region SelectById
    public static Contact SelectById(int id)
    {
    using (PersonEntities db = new PersonEntities())
    {
    return SelectById(db, id);
    }
    }
    public static Contact SelectById(PersonEntities db, int id)
    {
    return db.Contact_SelectById(id).ElementAtOrDefault(0);
    }
    #endregion

    #region Select
    public static List<Contact> SelectAll()
    {
    using (PersonEntities db = new PersonEntities())
    {
    return SelectAll(db);
    }
    }
    public static List<Contact> SelectAll(PersonEntities db)
    {
    return db.Contact_SelectAll().ToList();
    }
    #endregion
    }
    }


    خوب دوستان عزیز تا اینجا Data Access Layer رو باهم طراحی کردیم.
    انشالله فردا هم تا آخر برنامه میریم.

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

    ادامه دارد ...
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله mohsen_f_b : جمعه 29 اردیبهشت 1391 در 22:17 عصر

  2. #2
    کاربر دائمی آواتار mohsen_f_b
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    سن
    34
    پست
    401

    آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    سلام دوستان عزیز
    نمی دونم بخش اول آموزش چطور بود.
    ببخشید که کمتر توضیح دادم، سعی کردم همش با عکس باشه که درکش راحت تر باشه.
    آموزش که کامل شد در مورد این نحوه برنامه نویسی باهم گفتگو می کنیم.
    در ضمن دارم 2 مدل دیگه از این نوع برنامه نویسی رو آماده می کنم که انشالله در ادامه این سرسی آموزش براتون قرار میدم.
    خوب بریم با هم Business Logic Layer رو طراحی کنیم.
    دیشب بیشتر راه رو رفتیم و شما هم تمرین کردین و حالا سرحال شروع می کنیم.

    قدم پنجم : ساخت Business Logic Layer
    1- پروژه رو باز کنید
    2- حالا باید یک پروژه جدید به همین Solution اضافه کنیم که اسمش هم میزاریم PersonBLL
    لطفا مراحل رو با عکس پیش برین



    3- حالا شما لایه Business Logic Layer به Data Access Layer متصل کنید. شما می دانید که هر لایه فقط با لایه بالای و پایینی خود می توانه ارتباط برقرار کنه.
    خوب برای این کار مراحل رو همراه با عکس انجام بدین
    بروی References کلیک راست می کنیم و از تب Project نام پروژه PersonDAL رو انتخاب می کنیم




    4- دوباره بر روی Referencs کلیک راست کرده و از تب .NET گزینه System.Data.Entity رو انتخاب می کنیم


    5- حالا یک کلاس درست کنید با نام ContactEO


    6- حالا در صفحه کلاس 2 تا NameSpase باید Add کنیم
    using System.Collections;
    using PersonDAL;

    7- حالا شروع می کنیم به کد نویسی در بدنه کلاس
    یادم رفت بگم که قبل از شروع حتما
    class ContactEO


    را به
    public class ContactEO

    تغییر بدین.
    دیدین داشت یادم میرفت بگم.
    حالا تمام مقادیر و موجودیت ها رو تعریف می کنیم.

    public int Id { get; set; }
    public string Name { get; set; }
    public string Family { get; set; }
    public string Mobile { get; set; }
    public DateTime InsertDate { get; set; }
    public DateTime UpdateDate { get; set; }

    بعدش یک تابع تعریف می کنیم که نام و نام خانوادگی رو کنار هم قرار بده و بعنوان یک خروجی برای ما بصورت FullName

    public string FullName
    {
    get
    {
    return Name + ", " + Family;
    }
    }

    حالا برای عملیات ثبت و ویرایش برای مقادیر یک Validation میزاریم که چک کنه مقادیر حتما وارد شده است.

    private void ValidateSave(ref ArrayList validationErrors)
    {
    if (Name.Trim() == "")
    {
    validationErrors.Add("نام خالی وارد شده");
    }

    if (Family.Trim() == "")
    {
    validationErrors.Add("نام خانوادگی خالی وارد شده");
    }

    if (Mobile.Trim() == "")
    {
    validationErrors.Add("تلفن همراه خالی وارد شده");
    }
    }

    بعدش نوبت به این میرسه کد عملیات های Insert و Update رو بنویسیم

    public bool Save(ref ArrayList validationErrors)
    {
    ValidateSave(ref validationErrors);

    if (validationErrors.Count == 0)
    {
    if (Id == 0)
    {
    Id = ContactData.Insert(Name, Family, Mobile, InsertDate);
    }
    else
    {
    ContactData.Update(Id, Name, Family, Mobile, UpdateDate);
    }
    return true;
    }
    else
    {
    return false;
    }
    }

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

        public void Delete()
    {
    ContactData.Delete(Id);
    }


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

    internal void MapData(Contact contact)
    {
    Id = contact.ID;
    Name = contact.Name;
    Family = contact.Family;
    Mobile = contact.Mobile;
    InsertDate = contact.InsertDate.Value;
    UpdateDate = contact.UpdateDate.Value;

    }
    public bool Select(int id)
    {
    Contact contact = ContactData.SelectById(id);

    if (contact != null)
    {
    MapData(contact);
    return true;
    }
    else
    {
    return false;
    }
    }

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

    public static List<ContactEO> SelectAll()
    {
    List<ContactEO> contacts= new List<ContactEO>();

    List<Contact> contactDTOs = ContactData.SelectAll();

    foreach (Contact contactDTO in contactDTOs)
    {
    ContactEO ContactEO = new ContactEO();
    ContactEO.MapData(contactDTO);
    contacts.Add(ContactEO);
    }

    return contacts;
    }

    در آخر کلاس مربوطه به شکل زیر میشه

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Collections;
    using PersonDAL;

    namespace PersonBLL
    {
    public class ContactEO
    {
    public int Id { get; set; }
    public string Name { get; set; }
    public string Family { get; set; }
    public string Mobile { get; set; }
    public DateTime InsertDate { get; set; }
    public DateTime UpdateDate { get; set; }

    public string FullName
    {
    get
    {
    return Name + ", " + Family;
    }
    }
    private void ValidateSave(ref ArrayList validationErrors)
    {
    if (Name.Trim() == "")
    {
    validationErrors.Add("نام خالی وارد شده");
    }

    if (Family.Trim() == "")
    {
    validationErrors.Add("نام خانوادگی خالی وارد شده");
    }

    if (Mobile.Trim() == "")
    {
    validationErrors.Add("تلفن همراه خالی وارد شده");
    }
    }
    public bool Save(ref ArrayList validationErrors)
    {
    ValidateSave(ref validationErrors);

    if (validationErrors.Count == 0)
    {
    if (Id == 0)
    {
    Id = ContactData.Insert(Name, Family, Mobile, InsertDate);
    }
    else
    {
    ContactData.Update(Id, Name, Family, Mobile, UpdateDate);
    }
    return true;
    }
    else
    {
    return false;
    }
    }

    public void Delete()
    {
    ContactData.Delete(Id);
    }

    internal void MapData(Contact contact)
    {
    Id = contact.ID;
    Name = contact.Name;
    Family = contact.Family;
    Mobile = contact.Mobile;
    InsertDate = contact.InsertDate.Value;
    UpdateDate = contact.UpdateDate.Value;

    }
    public bool Select(int id)
    {
    Contact contact = ContactData.SelectById(id);

    if (contact != null)
    {
    MapData(contact);
    return true;
    }
    else
    {
    return false;
    }
    }

    public static List<ContactEO> SelectAll()
    {
    List<ContactEO> contacts= new List<ContactEO>();

    List<Contact> contactDTOs = ContactData.SelectAll();

    foreach (Contact contactDTO in contactDTOs)
    {
    ContactEO ContactEO = new ContactEO();
    ContactEO.MapData(contactDTO);
    contacts.Add(ContactEO);
    }

    return contacts;
    }
    }
    }


    و حالا پروژه را Save کنید
    این هم از Business Logic Layer.
    دیدن تا اینجا کاری نداشت، بزودی هم UI رو باهم می نویسیم.
    دوستان اگر توضیح ندادم زیاد بخاطر اینکه تمام مفاهیم ساده هستش. از دوستان هر کس مشکل داشت در کدها سوال کنه جواب گو هستیم.

    نظرتون تا اینجا چیه؟ خوب بوده؟!ساده هستش یا سخته؟!

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

    ادامه دارد ...
    آخرین ویرایش به وسیله mohsen_f_b : دوشنبه 25 اردیبهشت 1391 در 22:59 عصر دلیل: اضافه کردن متن

  3. #3
    کاربر دائمی آواتار mohsen_f_b
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    سن
    34
    پست
    401

    آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

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

    قدم ششم : ساخت Web Form یا همان UI Layer

    1- یک پروژه جدید با نام PersonUI
    نکته : لطفا این بخش رو حتما به عکس توجه کنید. دیگه Class Library انتخاب نمی کنیم.

    2- حالا یک صفحه aspx با نام Person.aspx ایجاد نمایید.

    3- کدهای زیر را در قسمت Source HTML صفحه وارد نمایید. با کدهای زیر جابجا کنید.

    <%@ Page Language="C#‎‎‎‎" AutoEventWireup="true" CodeBehind="Person.aspx.cs" Inherits="PersonUI.Person" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <title></title>
    <style type="text/css">
    .style1
    {
    text-align: left;
    }
    </style>
    </head>
    <body dir="rtl" style="font-family:Tahoma;font-size:12px">
    <form id="form1" runat="server">
    <div>
    <table>
    <tr>
    <td colspan="2">
    <asp:Label runat="server" ID="lblErrorLabel" Text="لطفا توجه کنید :"
    ForeColor="Red" Visible="false"></asp:Label>
    <asp:Label runat="server" ID="lblErrorMessages" ForeColor="Red" Visible="false"></asp:Label>
    </td>
    </tr>
    <tr>
    <td class="style1">
    کاربر مورد نظر را انتخاب کنید :</td>
    <td>
    <asp:DropDownList runat="server" ID="ddlUsers" AutoPostBack="True"
    onselectedindexchanged="ddlUsers_SelectedIndexChan ged">
    </asp:DropDownList>
    </td>
    </tr>
    <tr>
    <td class="style1">
    نام :</td>
    <td>
    <asp:TextBox runat="server" ID="txtFirstName"></asp:TextBox>
    </td>
    </tr>
    <tr>
    <td class="style1">
    نام خانوادگی :</td>
    <td>
    <asp:TextBox runat="server" ID="txtLastName"></asp:TextBox>
    </td>
    </tr>
    <tr>
    <td class="style1">
    شماره همراه :</td>
    <td>
    <asp:TextBox runat="server" ID="txtMobile"></asp:TextBox>
    </td>
    </tr>
    <tr>
    <td class="style1">
    تاریخ ثبت :
    </td>
    <td>
    <asp:Label runat="server" ID="lblInserted"></asp:Label>
    </td>
    </tr>
    <tr>
    <td class="style1">
    تاریخ آخرین ویرایش :
    </td>
    <td>
    <asp:Label runat="server" ID="lblUpdated"></asp:Label>
    </td>
    </tr>
    </table>
    <asp:Button runat="server" ID="btnSave" Text="ثبت" Font-Names="Tahoma"
    onclick="btnSave_Click" Width="100px" />
    <asp:Button ID="btnDelete" runat="server" Text="حذف" Font-Names="Tahoma"
    onclick="btnDelete_Click" Width="100px" />
    </div>
    </form>
    </body>
    </html>


    4- حالا بریم در صفحه Code Behind
    اول از همه باید لایه Business رو به پروژه اضافه کنید.
    بروی References پروژه کلیک راست کنید و Add References را کلیک کنید.
    و لایه PersonBLL را انتخاب کنید.


    حالا namespace PersonBLL را به صفحه با کد زیرAdd کنید.
    using PersonBLL;

    5- حالا برای اینکه اطلاعات در DropDown نمایش داده شود این تابع را می نویسیم.

    //نمایش کاربران در DROPDOWN
    private void LoadUserDropDownList()
    {
    ddlUsers.DataSource = ContactEO.SelectAll();

    ddlUsers.DataTextField = "FullName";
    ddlUsers.DataValueField = "Id";
    ddlUsers.DataBind();

    ddlUsers.Items.Insert(0, new ListItem("ایجاد کاربر جدید", ""));
    }

    6- در Page Load تابع بالا را فراخوانی می کنیم.

    protected void Page_Load(object sender, EventArgs e)
    {
    if (!IsPostBack)
    {
    LoadUserDropDownList();
    }
    }


    7- در Evant Click مربوط به دکمه ثبت کدهای زیر را قرار می دهیم

    //انجام عملیات ثبت و بروزرسانی
    protected void btnSave_Click(object sender, EventArgs e)
    {
    ArrayList validationErrors = new ArrayList();
    ContactEO userAccount = new ContactEO();

    if (ddlUsers.SelectedItem.Value != "")
    {
    //ویرایش
    userAccount.Id = Convert.ToInt32(ddlUsers.SelectedValue);
    }

    userAccount.Name = txtFirstName.Text;
    userAccount.Family = txtLastName.Text;
    userAccount.Mobile = txtMobile.Text;

    userAccount.Save(ref validationErrors);

    if (validationErrors.Count > 0)
    {
    ShowValidationMessages(validationErrors);
    }
    else
    {
    //فراخوانی دوباره DropDwon
    LoadUserDropDownList();

    //Select the one the user just saved.
    ddlUsers.Items.FindByValue(userAccount.Id.ToString ()).Selected = true;

    lblErrorLabel.Visible = false;
    lblErrorMessages.Visible = false;
    }
    }

    8- تابع زیر هم برای نمایش پیغام ها کد نویسی می کنیم.
      //نمایش پیغام ها
    private void ShowValidationMessages(ArrayList validationErrors)
    {
    if (validationErrors.Count > 0)
    {
    lblErrorLabel.Visible = true;
    lblErrorMessages.Visible = true;
    lblErrorMessages.Text = "<br />";

    foreach (string message in validationErrors)
    {
    lblErrorMessages.Text += message + "<br />";
    }
    }
    else
    {
    lblErrorLabel.Visible = false;
    lblErrorMessages.Visible = false;
    }
    }

    9- در Evant SelectedIndexChanged مربوط به DropDown هم کد های زیر را قرار می دهیم.

    protected void ddlUsers_SelectedIndexChanged(object sender, EventArgs e)
    {
    txtFirstName.Text = "";
    txtLastName.Text = "";
    lblInserted.Text = "";
    lblUpdated.Text = "";

    if (ddlUsers.SelectedValue != "")
    {
    //زمانی که یک کاربر انتخاب شود، کاربر مورد نظر را در مکان های مورد نظر قرار میدهد

    int userAccountId = Convert.ToInt32(ddlUsers.SelectedValue);

    ContactEO userAccount = new ContactEO();
    if (userAccount.Select(userAccountId))
    {
    txtFirstName.Text = userAccount.Name;
    txtLastName.Text = userAccount.Family;
    txtMobile.Text = userAccount.Mobile;
    lblInserted.Text = userAccount.InsertDate.ToString();
    lblUpdated.Text = userAccount.UpdateDate.ToString();
    }
    }
    }


    10- و در آخر در Evant Click مربوط به دکمه حذف هم کدهای زیر را قرار می دهیم.


    //عملیات حذف
    protected void btnDelete_Click(object sender, EventArgs e)
    {
    if (ddlUsers.SelectedItem.Value != "")
    {
    ArrayList validationErrors = new ArrayList();
    ContactEO userAccount = new ContactEO();

    userAccount.Id = Convert.ToInt32(ddlUsers.SelectedValue);
    userAccount.Delete();
    LoadUserDropDownList();
    txtFirstName.Text = "";
    txtLastName.Text = "";
    txtMobile.Text = "";
    lblInserted.Text = "";
    lblUpdated.Text = "";
    lblErrorLabel.Visible = false;
    lblErrorMessages.Visible = false;

    }
    }

    11- در آخر صفحه Code Behind ما به صورت زیر می باشد

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using PersonBLL;


    namespace PersonUI
    {
    public partial class Person : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    if (!IsPostBack)
    {
    LoadUserDropDownList();
    }
    }

    //نمایش کاربران در DROPDOWN
    private void LoadUserDropDownList()
    {
    ddlUsers.DataSource = ContactEO.SelectAll();

    ddlUsers.DataTextField = "FullName";
    ddlUsers.DataValueField = "Id";
    ddlUsers.DataBind();

    ddlUsers.Items.Insert(0, new ListItem("ایجاد کاربر جدید", ""));
    }

    //انجام عملیات ثبت و بروزرسانی
    protected void btnSave_Click(object sender, EventArgs e)
    {
    ArrayList validationErrors = new ArrayList();
    ContactEO userAccount = new ContactEO();

    if (ddlUsers.SelectedItem.Value != "")
    {
    //ویرایش
    userAccount.Id = Convert.ToInt32(ddlUsers.SelectedValue);
    }

    userAccount.Name = txtFirstName.Text;
    userAccount.Family = txtLastName.Text;
    userAccount.Mobile = txtMobile.Text;

    userAccount.Save(ref validationErrors);

    if (validationErrors.Count > 0)
    {
    ShowValidationMessages(validationErrors);
    }
    else
    {
    //فراخوانی دوباره DropDwon
    LoadUserDropDownList();

    //Select the one the user just saved.
    ddlUsers.Items.FindByValue(userAccount.Id.ToString ()).Selected = true;

    lblErrorLabel.Visible = false;
    lblErrorMessages.Visible = false;
    }
    }

    //نمایش پیغام ها
    private void ShowValidationMessages(ArrayList validationErrors)
    {
    if (validationErrors.Count > 0)
    {
    lblErrorLabel.Visible = true;
    lblErrorMessages.Visible = true;
    lblErrorMessages.Text = "<br />";

    foreach (string message in validationErrors)
    {
    lblErrorMessages.Text += message + "<br />";
    }
    }
    else
    {
    lblErrorLabel.Visible = false;
    lblErrorMessages.Visible = false;
    }
    }


    protected void ddlUsers_SelectedIndexChanged(object sender, EventArgs e)
    {
    txtFirstName.Text = "";
    txtLastName.Text = "";
    lblInserted.Text = "";
    lblUpdated.Text = "";

    if (ddlUsers.SelectedValue != "")
    {
    //زمانی که یک کاربر انتخاب شود، کاربر مورد نظر را در مکان های مورد نظر قرار میدهد

    int userAccountId = Convert.ToInt32(ddlUsers.SelectedValue);

    ContactEO userAccount = new ContactEO();
    if (userAccount.Select(userAccountId))
    {
    txtFirstName.Text = userAccount.Name;
    txtLastName.Text = userAccount.Family;
    txtMobile.Text = userAccount.Mobile;
    lblInserted.Text = userAccount.InsertDate.ToString();
    lblUpdated.Text = userAccount.UpdateDate.ToString();
    }
    }
    }

    //عملیات حذف
    protected void btnDelete_Click(object sender, EventArgs e)
    {
    if (ddlUsers.SelectedItem.Value != "")
    {
    ArrayList validationErrors = new ArrayList();
    ContactEO userAccount = new ContactEO();

    userAccount.Id = Convert.ToInt32(ddlUsers.SelectedValue);
    userAccount.Delete();

    LoadUserDropDownList();
    txtFirstName.Text = "";
    txtLastName.Text = "";
    txtMobile.Text = "";
    lblInserted.Text = "";
    lblUpdated.Text = "";
    lblErrorLabel.Visible = false;
    lblErrorMessages.Visible = false;

    }
    }

    }

    }

    12- تا اینجا که مشکلی نبود، حالا فقط 2 تا نکته هستش که باید ConnectionStirng مربوط به Entity Framework که در web.config لایه PersonDAL هستش رو در Web.Config مربوط به پروژه PersonUI اضافه کنیم.
    ConnctionStirng رو از web.config لایه PersonDAL کپی کنید و در web.config پروژه PersonUI اضافه کنید.
    <connectionStrings>
    <add name="PersonEntities" connectionString="metadata=res://*/PersonDataModel.csdl|res://*/PersonDataModel.ssdl|res://*/PersonDataModel.msl;provider=System.Data.SqlClient ;provider connection string=&quot;Data Source=MOHSEN-PC\SQL2008R2;Initial Catalog=Person;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
    </connectionStrings>


    نکته دوم : انتخاب PersonUI بعنوان پروژه زمان اجرا


    حالا برنامه را اجرا کنید.

    دوستان در کدها هرجاش مشکلی داشتین بگین تا توضیح بدم.
    پایان
    نظرتون چیه دوستان؟!

    انشالله که بدردتون خورده باشه.بازم شرمنده اگه کوتاهی کردم.

    و بزودی ==> آموزش استفاده از Entity Framework در معماری 3 لایه توسط دستورات LINQ (دیگه از SP ها استفاده نمی شه)

    موفق باشید
    آخرین ویرایش به وسیله mohsen_f_b : شنبه 30 اردیبهشت 1391 در 09:23 صبح

  4. #4
    کاربر دائمی آواتار shahab_ksh
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تو اطاقم
    پست
    1,388

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    شما چرا برای ورود تغییرات در دیتا از Stored Procedures استفاده کردید چرا از خود Entity Frimework استفاده نکردید؟

  5. #5
    کاربر دائمی آواتار mohsen_f_b
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    سن
    34
    پست
    401

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    نقل قول نوشته شده توسط shahab_ksh مشاهده تاپیک
    شما چرا برای ورود تغییرات در دیتا از Stored Procedures استفاده کردید چرا از خود Entity Frimework استفاده نکردید؟
    سلام دوست عزیز
    من می خواستم کل رویه ها از طریق Stored Procedures انجام بشه. می شه تمام عملیات ها رو هم مستقیم از طریق Entity Framework انجام داد. ولی من شخصا اینطوری انجام دادم. بالا هم توضیح نوشتم این یک نمونه هستش.راه های زیادی میشه استفاده کرد. وقت بشه حتما با تغییرات برای روش های دیگر هم میزارم. شما هم اگه وقت دارین اصلاح کد به روش های دیگه هم بزارین.
    باتشکر از شما دوست عزیز shahab_ksh جان

  6. #6

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    خیلی خوب و واضح توضیح دادی مرسی

  7. #7
    کاربر دائمی آواتار arefba
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    زیر لب تاپم
    سن
    33
    پست
    782

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    به نظرت وقتش نیست لایه آخر رو توضیح بدی و کل پروژه رو بزاری ؟؟

  8. #8
    کاربر دائمی آواتار mohsen_f_b
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    سن
    34
    پست
    401

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    نقل قول نوشته شده توسط arefba مشاهده تاپیک
    به نظرت وقتش نیست لایه آخر رو توضیح بدی و کل پروژه رو بزاری ؟؟
    سلام دوست عزیز

    بخش بعدی اضافه شد.
    فایل پروژه اضافه شد.
    موفق باشید.
    آخرین ویرایش به وسیله mohsen_f_b : جمعه 29 اردیبهشت 1391 در 22:19 عصر

  9. #9

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    آقا من این پروژه رو درست کردم
    موقع insert خطا میده

  10. #10

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    چیزی که من درست کردم اینه
    فایل های ضمیمه فایل های ضمیمه

  11. #11
    کاربر دائمی آواتار mohsen_f_b
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    سن
    34
    پست
    401

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    نقل قول نوشته شده توسط TheCoder مشاهده تاپیک
    چیزی که من درست کردم اینه
    سلام دوست عزیز

    فکر نکنم من اینطوری که آموزش دادم شما برنامه رو طراحی کرده باشید!!!
    لطفا از مثالی که گذاشتم استفاده نمایید!

    موفق باشید

  12. #12

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    دوست عزیز چرا تحت وب؟چقدر کامل و واضح بود حیف شد./

  13. #13
    کاربر دائمی آواتار mohsen_f_b
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    سن
    34
    پست
    401

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

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

    موفق باشید

  14. #14

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    یعنی این کارو میکنید !

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

  15. #15
    کاربر دائمی آواتار mohsen_f_b
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    سن
    34
    پست
    401

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    نقل قول نوشته شده توسط samadblaj مشاهده تاپیک
    حالا شروع میکنم مینویسم ببینم میتونم.
    لایه های DAL و BLL همون هستن و فقط توی UI شما باید فرم ویندوزی بزنید.

    موفق باشید

  16. #16

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    نه بی خیالش اینجوری درست مفهوم رو نمیگیرم (تحت وب)

    ولی بازم بایت این زحماتت تشکر میکنم.

    موفق باشید

  17. #17
    کاربر دائمی آواتار mohsen_f_b
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    سن
    34
    پست
    401

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

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

    موفق باشی

  18. #18
    کاربر دائمی آواتار jafari1
    تاریخ عضویت
    بهمن 1382
    محل زندگی
    ايران
    پست
    364

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

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

  19. #19

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    نقل قول نوشته شده توسط mohsen_f_b مشاهده تاپیک
    دوست عزیز تا امشب صبر کن براتون می نویسیم میزارم برای دانلود.

    موفق باشی
    جدی ! ممنونم دوست عزیز منتظرما...

  20. #20

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

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

    و من یه مشکلی داشتم:
    public List<News> selectfromnews(int idd)
    {

    var cell = (from row in ag.News where row.nid == idd select new {row.ndate,row.ntex});

    List<News> l = cell.ToList();

    return l;
    }

    می خوام یه select چند ستونه داشته باشم و حاصلش رو return کنم ولی توی تبدیل نوع هاش موندم... var رو که نمیشه return کرد.. و حاصل select چند ستونه رو هم نمیشه ریخت توی list....... خواهش میکنم اگه میدونی کمکم کن..من تاشهریور باید پروژمو تحویل بدم

  21. #21
    کاربر دائمی
    تاریخ عضویت
    آذر 1389
    محل زندگی
    تهران
    پست
    126

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    در Ef در قسمت تنظیمات جداول قسمتی هست که سه متد Insert,Update,Delete داره و میشه روال های ذخیره شده مورد نظر خودمون رو به جداول وصل کنیم میخواستم بدونم کاربرد این قسمت چیه؟
    ef up.jpg
    ef dt.jpg
    آخرین ویرایش به وسیله gama_slv : پنج شنبه 08 تیر 1391 در 14:09 عصر دلیل: اضافه کردن تصویر

  22. #22

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    سلام... چرا از معماري 3 لايه استفاده كنيم؟ .. درسته كه اين روش نظم بيشتري داره ولي طولاني تر از حالت عاديه ...

  23. #23

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    نقل قول نوشته شده توسط mar236 مشاهده تاپیک
    سلام... چرا از معماري 3 لايه استفاده كنيم؟ .. درسته كه اين روش نظم بيشتري داره ولي طولاني تر از حالت عاديه ...
    دوست من اگر جستجو ساده ای بکنین می بینین درسته طولانیه اما انعطاف پذیرتره

    موفق وموید باشید

  24. #24
    کاربر دائمی آواتار h_r_sh
    تاریخ عضویت
    آذر 1387
    محل زندگی
    شيراز
    پست
    258

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    مرسی بابت زحمتی که کشیدید.
    اگه می شه فقط قسمت Update رو با استفاده از Linq و EntityFrameWorkDesigner.edmx توضیح بدید.

  25. #25

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    سلام
    من یه مشکلی دارم
    آقا محسن هر نکته ای که گفتین رو رعایت کردم
    اما موقع ثبت ،حذف، و یا هرکار دیگه ای این خطا رو میده
    The data reader is incompatible with the specified 'testModel.student'. A member of the type, 'name', does not have a corresponding column in the data reader with the same name.
    این store procedure که نوشتم و همونجوری که گفتین import function کردم

    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    go

    ALTER PROCEDURE [dbo].[insert_student]

    (
    @name nvarchar,
    @l_name nvarchar,
    @f_name nvarchar,
    @national_code nvarchar,
    @sh_sh nvarchar,
    @image binary(4000),
    @burn_date datetime,
    @burn_city nvarchar,
    @class_id bigint

    )

    AS
    SET NOCOUNT ON

    insert into student
    ([name],l_name,f_name,burn_date,national_code,sh_sh,[image],burn_city,class_id)
    values
    (@name,@l_name,@f_name,@burn_date,@national_code,@ sh_sh,@image,@burn_city,@class_id)

    RETURN

    تمام sp ها همین خطا رو میدن
    تمام عملیات روی تمام جدول ها
    ببینید insert رو انجام میده اطلاعات توی جدول ثبت میشه اما این خطا رو میده و برنامه متوقف میشه
    اول فکر کردم به اسم فیلد گیر داده که اونو عوض کردم بازم همین خطا رو میداد و برای هر جدول با هر اسمی با هر نوع فیلدی همین خطا رو میده بجای 'name' اسم فیلد رو مینویسه
    فقط هم فیلد اول هر جدول رو میگه ، مثلا توی پیغام خطای بالا فیلد نام اولین فیلد جدول student بود
    مثل اینکه در مورد نوع مقدار بازگشتی از جدول خطا داده، کد هم به این شکل تعریف شده

    public static student Insert_student(string name, string l_name, string f_name, string national_code, string sh_sh, byte[] image, DateTime burn_date, string burn_city, Int64 class_id)
    {
    testEntities db = new testEntities ();
    return db.insert_student(name, l_name, f_name, national_code, sh_sh, image, burn_date, burn_city, class_id).ElementAt(0);
    }

    student در کد بالا entity هست که توی مثال شما entity همان contact بود

    ممنون میشم اگر کسی کمک کنه،

  26. #26

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    سلام
    این برنامه رو با مراحل گفته شده در قسمت آموزش انجام دادم و برنامه درست جواب میدهد
    البته واسه منم فقط دستور ذخیره خطا میداد به قول آقای amir7ta اطلاعات رو ذخیره میکنه و لی خطا میداد
    من اومدم پروکسیجر مربوط به دستور ذخیره رو بدون خروجی کردم در کد نویسی هم توابع مربوط به درج اطلاعات رو بدون خروجی (Return) کردم
    با این کار اطلاعات ذخیره میشود و هیچ خطایی رخ نمیدهد

  27. #27

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    منم مجبور شدم بجای return از select استفاده کنم و اینجوری مشکل حل شد ،مثلا بعد از پروسیجر insert ، رکورد ثبت شده رو با select برمیگردونم و دیگه برای پروسیجرهای insert و update مشکل نداره
    اما برای delete چون مجبورم یه مقدار برگردونم باید از return استفاده کنم و هنوز مشکل پا برجاست آخه سطر حذف شده رو که نمیتونم با select برگردونم و باید یه پارامتر return کنم که ببینم sp اجرا شده یا نه.
    دقیقا هم میدونم مشکل کجاس اما نمیتونم حلش کنم
    موقعی که توی مدل داریم فانکش میسازیم و sp ها رو import میکنیم ، اونجایی که نوع پارامتر بازگشتی از sp رو مشخص میکنیم اگر پارامتر بازگشتی با return باشه خطا ایجاد میشه اما اگه خروجی sp یه سطر از جدول باشه درواقع یک entity باشه دیگه خطایی نمیده امیدوارم کسی بتونه کمک کنه

  28. #28

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    میشه بطور خلاصه و جمع شده بگین چه قسمت هایی در کدوم لایه قرار می گیرن البته بدون استفاده از store procedure

  29. #29
    کاربر دائمی آواتار zare69
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    یزد
    پست
    240

    Question نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

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

  30. #30
    کاربر دائمی آواتار zare69
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    یزد
    پست
    240

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    من چند تا سوال داشتم در مورد این روش:
    1-اگر ما چند تا جدول در بانک داشته باشیم به ازای هر کدام باید تمام این مراحل را انجام بدیم ؟و برای هر کدوم 5 تاSPایجاد کنیم؟
    2-اگر بخواهیم ی تغییری در جداول انجام بدیم برای اعمال کردن تغییرات به مراحل دیگر دستی باید این کار را انجام بدیم؟
    3-در این صورت مزیت این روش چیه؟چون هم انجام دادن این مراحل زمانبر و وقت گیره وهم برای اعمال ی تغییر کوچیک دوباره از اول باید شروع به کار کرد.

  31. #31

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    نقل قول نوشته شده توسط zare69 مشاهده تاپیک
    سلام دوستان
    من تمام این مراحل گفته شده را انجام دادم ولی زمانی که می خواهم یه سطر جدید در بانک ایجاد کنم خطا زیر را میدهد.کسی میتونه منو راهنمایی کنه.
    البته لازم به ذکر که من این مراحل را در سی شارپ انجام دادم.
    فایل app.config رو از لایه dal به لایه ui اضافه کن درست میشه

  32. #32

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    سلام و خیلی ممنون از شما بابت این منبعی که برای آشنایی بهتر برای ما گذاشتید

    میخواستم از شما اگه میتوانید برای آپلود نمودن عکس و ذخیره کردن در دیتا بیس کد سی شارپشو برامون بزارید یا لینکی که کمکمون کنه

    ممنون

  33. #33

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    سلام من این پروژه رو اجرا نمودم ولی برای من خطا صادر میکند میتونین برای رفع خطا به من کمک کنید ممنون
    error.jpg

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

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    نقل قول نوشته شده توسط mohsen_f_b مشاهده تاپیک
    انشالله که بدردتون خورده باشه.بازم شرمنده اگه کوتاهی کردم.

    و بزودی ==> آموزش استفاده از Entity Framework در معماری 3 لایه توسط دستورات LINQ (دیگه از SP ها استفاده نمی شه)

    موفق باشید
    دوستان کسی تو این زمینه میتونه راهنمایی بکنه.

  35. #35

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    میشه خواهش کنم همین پروژه رو تحت ویندوز ( با EntityFrameWork و معماری 3 لایه) بزارید؟ خیلی سرچ کردم اما چیز جالبی پیدا نکردم ؛ توضیحات شما خیلی کامله ؛ممنون

  36. #36

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    دوستان لطفا بیشتر توضیح بدید برای رفع مشکل جکار کنیم؟کجاهاreturn رو برداریمselect بزاریم؟؟؟؟؟؟؟؟؟

    آقا محسن 1زحمت دیگه بکشید و برای حل مشکل راهنمایی کنید.ممنون

  37. #37

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    نقل قول نوشته شده توسط starwold مشاهده تاپیک
    سلام من این پروژه رو اجرا نمودم ولی برای من خطا صادر میکند میتونین برای رفع خطا به من کمک کنید ممنون
    error.jpg


    به من هم همین خطا رو میده !!

  38. #38
    کاربر جدید
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    https://t.me/pump_upp
    پست
    2

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    برنامه ای که را دانلود گذاشتین اجرا نمیشه ؟؟؟
    چیکار باید کرد؟؟/

  39. #39

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

    با تشکر
    من هم در زمان درج خطا میده
    و برنامه اصلی هم خظای زیر را میده
    عکس های ضمیمه عکس های ضمیمه

  40. #40
    کاربر دائمی آواتار malloc
    تاریخ عضویت
    مهر 1389
    محل زندگی
    تهران (ام الوک)
    پست
    1,284

    نقل قول: آموزش استفاده از Entity Framework در معماری 3 لایه - همراه با مثال عملی

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

    مسئولین این تاپیک مشکلات و رسیدگی کنن لطفا

صفحه 1 از 2 12 آخرآخر

تاپیک های مشابه

  1. پاسخ: 25
    آخرین پست: سه شنبه 10 تیر 1393, 00:14 صبح
  2. مشکل در استفاده از Entity Framework در معماری لایه ای
    نوشته شده توسط Mohsen_IS در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: یک شنبه 24 اردیبهشت 1391, 23:51 عصر
  3. جایگاه Entity Framework در معماری 3 لایه
    نوشته شده توسط reza344 در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 4
    آخرین پست: سه شنبه 20 دی 1390, 07:35 صبح
  4. جایگاه Entity Framework در معماری 3 لایه
    نوشته شده توسط reza344 در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: دوشنبه 19 دی 1390, 21:57 عصر

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

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