Как я могу получить класс, чтобы иметь коллекцию, состоящую из другой модели, и заполнять ее, когда я беру исходную модель. У меня есть список желаний, и в этом списке желаний есть 0 или много продуктов. Что нужно сделать для аннотации данных или для свободного API, чтобы это было заполнено, если бы я сделал db.Wishlist.find (id). Вот то, что я в настоящее время в моем списке моделиEF Code First One To Many
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Models
{
[Table("Wishlist")]
public class Wishlist
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[ScaffoldColumn(false)]
public int ID { get; set; }
[StringLength(100)]
public string Name { get; set; }
public int ProductID { get; set; }
public virtual ICollection<Product> Product { get; set; }
public int CustomerID { get; set; }
[Required]
public Customer Customer { get; set; }
public virtual List<Product> Products { get; set; }
[DisplayFormat(DataFormatString = "{0:f}")]
public DateTime CreateDate { get; set; }
[DisplayFormat(DataFormatString = "{0:f}")]
public DateTime LastModifiedDate { get; set; }
}
}
, что требуется, чтобы получить продукты для заполнения или как коллекция или в виде списка. Каков правильный подход к достижению этого? Я знаю, что одна из коллекций продуктов должна идти, просто не уверен, что и что нужно.
ОБНОВЛЕНИЕ: добавлен показ моей модели продукта.
namespace Models
{
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.Spatial;
[Table("Product")]
public partial class Product
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public Product()
{
OrderLines = new HashSet<OrderLine>();
SKU_Table = new HashSet<Sku>();
XREF_CatalogProduct = new HashSet<XREF_CatalogProduct>();
ProductImages = new List<ProductImage>();
}
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
[NotMapped]
public string FormattedPrice { get { return this.Price.ToString("C"); } }
[Required]
[MaxLength]
public string PageURL { get; set; }
[Required]
[StringLength(250)]
public string Name { get; set; }
[Required]
public string Code { get; set; }
public string Description { get; set; }
public int CategoryID { get; set; }
[Column(TypeName = "money")]
[DisplayFormat(DataFormatString = "${0:#,0}", ApplyFormatInEditMode = true)]
public decimal Price { get; set; }
public DateTime? DateCreated { get; set; }
public DateTime? DateModified { get; set; }
[Required]
public bool Featured { get; set; }
public virtual string ImagePath { get; set; }
public virtual Category Category { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<OrderLine> OrderLines { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Sku> SKU_Table { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<XREF_CatalogProduct> XREF_CatalogProduct { get; set; }
public virtual ICollection<ProductImage> ProductImages { get; set; }
}
}
вы можете показать свой 'модель Product' также? – Sampath
@ Sampath обновил его – ddeamaral
Вам нужно знать, как настроить отношения «1: M» с «Wishlist» и «Product» или иначе? – Sampath