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

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

کاربر سایت

pourya.montakhab

عضویت از 1397/07/14

مشکل در migration در روش codefirst

  • پنجشنبه 13 دی 1397
  • 13:47
تشکر میکنم

سلام خسته نباشین دوستان . 

من یه پروژه دارم که داخلش بانکم رو به روش codefirst درست کردم و یک سری table های درونش رو همچنین . 

 متوجه اشتباهی شدم در طراحی دو تا از جدول هام . اونهارو اصلاح کردم و حالا که میخوام دیتابیس رو update کنم این خطارو میده 

Either the parameter @objname is ambiguous or the claimed @objtype (COLUMN) is wrong.

کدهای مربوط به جدول component

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

namespace DataLayer.Models
{
    public class Component
    {
        [Key]
        public int  ID { get; set; }

        
        public int TitrID { get; set; }

        [Display(Name = "نام خریدار")]
        public int BuyerID { get; set; }

        [Display(Name = "تاریخ")]
        public DateTime Date { get; set; }

        [Display(Name = "نوع محصول")]
        public int OrderID { get; set; }

        [Display(Name = "تعداد")]
        public int Quantity { get; set; }

        [Display(Name = "وزن کل")]
        public int TotalWeight { get; set; }

        [Display(Name = "وزن ظرف")]
        public int ContainerWeight { get; set; }

        [Display(Name = "وزن خالص")]
        public int Tare { get; set; }

        [Display(Name = "فی")]
        public int PriceIndex { get; set; }

        [Display(Name = "قیمت کل")]
        public int TotalPrice { get; set; }

        [Display(Name = "مبلغ پرداختی")]
        public int  Disbursement { get; set; }

        [Display(Name = "توضیحات")]
        public string Description { get; set; }


        //Navigation Property

        public virtual Buyer Buyer { get; set; }
        public virtual Order Order { get; set; }
        public virtual Titr Titr { get; set; }

    }
}

کد های مربوط به جدول titr

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

namespace DataLayer.Models
{
    public class Titr
    {
        [Key]
        public int ID { get; set; }

        [Display(Name = "شناسه کامپیوتری بار")]
        public int TitrCode { get; set; }

        [Display(Name = "تاریخ ورود بار ")]
        public string InputDate { get; set; }

        [Display(Name = "شماره بارنامه")]
        public int BillOfLadingID { get; set; }

        [Display(Name = "شماره ماشین یک")]
        public int CarPlak1 { get; set; }

        [Display(Name = "شماره ماشین دو")]
        public int? CarPlak2 { get; set; }

        [Display(Name = "نام صاحب بار")]
        public int HolderID { get; set; }

        [Display(Name = "نوع محصول")]
        public int OrderID { get; set; }

        [Display(Name = "نوع بسته بندی")]
        public int PackingID { get; set; }


        [Display(Name = "پی باری , دستی")]
        public int Deposit { get; set; }

        [Display(Name = "تعداد بار")]
        public int NumOfProduct { get; set; }

        [Display(Name = "وزن بار در مقصد")]
        public int ProWeightInDes { get; set; }

        [Display(Name = "کرایه")]
        public int Frought { get; set; }

        [Display(Name = "هزینه تخلیه")]
        public int DischargePey { get; set; }

        [Display(Name = "هزینه متفرقه")]
        public int SundrisePey { get; set; }

        [Display(Name = "فی خرید")]
        public int PriceIndex { get; set; }

        [Display(Name = "مبلغ کل")]
        public int TotalPrice { get; set; }

        [Display(Name = "توضیحات")]
        public string Description { get; set; } = null;

        [Display(Name = "حذف شده ؟")]
        public bool? IsDelete { get; set; } = false;

        [Display(Name = "فعال ؟")]
        public bool? IsActive { get; set; } = false;

        //Navigation Property
        public virtual Order Order { get; set; }
        public virtual Holder Holder { get; set; }
        public virtual Packing Packing { get; set; }
        public virtual ICollection<Component> Component { get; set; }



    }
}

کد های مربوط به فایل Context 

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DataLayer.Models;

namespace DataLayer.Context
{
    public class BarEntites:DbContext
    {


        public DbSet<Order> Order { get; set; }
        public DbSet<Buyer> Buyer { get; set; }

        public DbSet<Component> Component { get; set; }

        public DbSet<Holder> Holder { get; set; }

        public DbSet<Packing> Packings { get; set; }

        public DbSet<Titr> Titr { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            //modelBuilder.Entity<Titr>()
            //    .HasRequired<Holder>(t => t.Holder)
            //    .WithMany(h => h.Titr)
            //    .HasForeignKey<int>(t => t.HolderID);

            //modelBuilder.Entity<Titr>()
            //    .HasRequired<Order>(o => o.Order)
            //    .WithMany(h => h.Titr)
            //    .HasForeignKey<int>(t => t.OrderID);

            //modelBuilder.Entity<Titr>()
            //    .HasRequired<Packing>(p => p.Packing)
            //    .WithMany(h => h.Titr)
            //    .HasForeignKey<int>(t => t.PackingID);



            modelBuilder.Entity<Component>()
                .HasRequired<Titr>(t => t.Titr)
                .WithMany(c => c.Component)
                .HasForeignKey<int>(t => t.TitrID);
        }

        //public BarEntites() : base("name=BarEntites")
        //{
        //    this.Configuration.LazyLoadingEnabled = true;
        //    this.Configuration.ProxyCreationEnabled = false;
        //}

    }
}

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

تعداد پاسخ ها : 3 پاسخ
کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • پنجشنبه 13 دی 1397
  • 13:49

محتوای Migration که روی بانک اعمال نشده را قرار بدید.

کاربر سایت

pourya.montakhab

عضویت از 1397/07/14

  • پنجشنبه 13 دی 1397
  • 18:04

ممنونم جناب علیزاده اما متوجه منظورتون نشدم .

کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • جمعه 14 دی 1397
  • 11:43

محتوای فایل Migration که ایجاد شده را قرار بدید.

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

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

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

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