سلام میخوام یه رکورد به جدول order اضافه کنم اما این خطا رو میده
کلاس order
public partial class Order { public Order() { OrderAdditionalItems = new HashSet<OrderAdditionalItem>(); OrderItems = new HashSet<OrderItem>(); OrderPayments = new HashSet<OrderPayment>(); } public int ID { get; set; } public DateTime ODate { get; set; } public int UserID { get; set; } public int TransferID { get; set; } public decimal TransferCost { get; set; } public int AddressID { get; set; } public int Status { get; set; } [StringLength(50)] public string TransferCode { get; set; } public string CustomData { get; set; } public virtual ICollection<OrderAdditionalItem> OrderAdditionalItems { get; set; } public virtual ICollection<OrderItem> OrderItems { get; set; } public virtual ICollection<OrderPayment> OrderPayments { get; set; } public virtual TransferType TransferType { get; set; } public virtual UserProfile UserProfile { get; set; } }
کد اضافه کردن
Order openorder = new Order(); openorder.Status = (int)OrderStatus.Open; openorder.UserID = userid; openorder.ODate = DateTime.Now; openorder.TransferID = db.TransferTypes.FirstOrDefault().ID; openorder.AddressID = db.UserAddresses.FirstOrDefault().ID; db.Orders.Add(openorder); db.SaveChanges();
dbcontex
modelBuilder.Entity<Order>() .Property(e => e.TransferCost) .HasPrecision(18, 4); modelBuilder.Entity<Order>() .HasMany(e => e.OrderAdditionalItems) .WithRequired(e => e.Order) .WillCascadeOnDelete(false); modelBuilder.Entity<Order>() .HasMany(e => e.OrderItems) .WithRequired(e => e.Order) .WillCascadeOnDelete(false); modelBuilder.Entity<Order>() .HasMany(e => e.OrderPayments) .WithRequired(e => e.Order) .WillCascadeOnDelete(false);
جدول
آیا ستون ID را Auto Increment کردید ؟
ID های TransferID و AddressID را جدا گانه در یک متغیر بگیرید و سپس به مدل خود بدهید. سپس جدول اضافه کنید :
var tId = db.TransferTypes.FirstOrDefault().ID; openorder.TransferID = tID;
آقای مدائنی ،
آقای باقر زاده این راه هم جواب نداد.
دوست عزیز شما TransferCode و CustomData رو کجا پر می کنید ، چون هر دو فیلد required هستند و حتما باید پر شوند؟
requred نیستند نوی عکس نشون دادم allow null همه به غیر از ID مقدار true دارند
مشکل از ریلیشن هام بود دوباره ست کردم و مدل هامو ساختم
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)