У меня классический сценарий отношения продукта-бренда. И мои классы вроде этого.Нулевой внешний ключ в коде структуры Entity сначала
public class Products { public int ProductID { get; set; } public string ProductName { get; set; } public decimal Price { get; set; } public string PreDescription { get; set; } public int? BrandID { get; set; } //private Brands brand; public virtual Brands Brand { get; //{ if (this.Brand == null) Brand = new Brands(); return Brand; } set; //{ Brand = value; } } } public class Brands { public int BrandID { get; set; } public string BrandName { get; set; } private List products; public virtual List Products { get{ if (this.products == null) products = new List(); return products; } set{ products = value; } } }
И картографирование как это.
public class ProductsMap : EntityTypeConfiguration{ public ProductsMap() { ToTable("Products"); HasKey(p => p.ProductID).Property(p => p.ProductID) .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity); this.HasOptional(p => p.Brand).WithMany(b => b.Products); } } public class BrandsMap : EntityTypeConfiguration { public BrandsMap() { ToTable("Brands"); HasKey(b => b.BrandID).Property(b => b.BrandID) .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity); } }
У меня есть два метода, GETALL(), GetByID() Некоторые строки на столе продукт имеет нулевое значение.
Когда я пытаюсь запустить метод GetAll, он бросает Null Exception (марка какого-то продукта возвращается null), но все продукты, получающие GetByID() dosent, бросают любое исключение?
Все еще я получаю эту ошибку на методе GetAll(). если в возвращаемых данных есть значение null, а также значение int, оно генерирует исключение. – PolatYerimdar