مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

Delete_Account

عضویت از 1395/05/05

خطا در تست پروژه wcf طبق آموزش های سایت

  • جمعه 8 مرداد 1395
  • 15:01
تشکر میکنم

سلام خدمت همه دوستان!

من پروژه ای مشابه آموزش دوم آقای مدائنی توی ویژوال استودیو 2015 و SSMS 2016 و SQL manager 2016 ایجاد کردم. اما تعدادی از توابعی که توی اینترفیس و کلاس نوشتم اجرا نمیشن. برای ارتباط با دیتابیس هم مثل آموزش از ADO.NET Entity Data Model استفاده کردم. در واقع فقط تابع گرفتن لیست کاربر ها بدون خطا اجرا میشه. ویژوآل استودیو رو با ادمین باز میکنم.

خطا برای تابع find:

و مثلا خطای افزودن کاربر:

که خطای حذف کاربر هم مشابه همین خطاست.

تابع update_user هم مقدار true رو برمیگردونه اما هیچ تغییری داخل دیتابیس ایجاد نمیکنه.


کد interface:

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;

namespace MyWCFExample
{


    [ServiceContract] // To declare the main service
    public interface IMyS
    {

        // CRUD = Create, Read, Update, Delete

        // CREATE
        [OperationContract]
        bool Create_User(tbl_users user);

        // READ
        [OperationContract]
        List<tbl_users> Read_List_User();

        [OperationContract]
        tbl_users Get_User(int index);

        // UPDATE
        [OperationContract]
        bool Update_User(tbl_users user);

        // DELETE
        [OperationContract]
        bool Delete_User(tbl_users user);

    }
}

 

 

کد کلاس سرویس:

 

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

namespace MyWCFExample
{
    public class MyS : IMyS
    {

        private MyDbEntities _db;

        public MyS()
        {
            _db = new MyDbEntities();
        }

        public bool Create_User(tbl_users user)
        {
            try
            {

                _db.tbl_users.Add(user);
                _db.SaveChanges();
                return true;

            }
            catch
            {
                return false;
            }
            //throw new NotImplementedException();
        } // DONE

        public bool Delete_User(tbl_users user)
        {

            try
            {
                _db.Entry(user).State = System.Data.Entity.EntityState.Deleted;
                _db.SaveChanges();
                return true;
            }
            catch
            {
                return false;
            }

            //throw new NotImplementedException();
        }

        public tbl_users Get_User(int index)
        {

            return _db.tbl_users.Find(index);



            //throw new NotImplementedException();
        }

        public List<tbl_users> Read_List_User()
        {

            return _db.tbl_users.ToList();

            //throw new NotImplementedException();
        }

        public bool Update_User(tbl_users user)
        {

            try
            {
                _db.Entry(user).State = System.Data.Entity.EntityState.Modified;
                _db.SaveChanges();
                return true;
            }
            catch
            {
                return false;
            }

            //throw new NotImplementedException();
        }
    }
}

 

کد کلاس مدل edmax:

 

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated from a template.
//
//     Manual changes to this file may cause unexpected behavior in your application.
//     Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace MyWCFExample
{
    using System.Runtime.Serialization;
    using System;
    using System.Collections.Generic;

    [DataContract]
    public partial class tbl_users
    {
        [DataMember]
        public string Name { get; set; }
        [DataMember]
        public string Password { get; set; }
        [DataMember]
        public string Email { get; set; }
        [DataMember]
        public string Mobile { get; set; }
        [DataMember]
        public int Id { get; set; }
    }
}

 

که با تغییر فایل .tt به به صورت خود کار درست میشه.

 

اینم هم طراحی table هست:


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

پاسخ های این پرسش

تعداد پاسخ ها : 0 پاسخ
در حال حاضر هیچ پاسخی ارسال نشده است
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

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

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)