내가 실행 해요 문제는 product.ProductImages가 null이다이삽입 관련 기록 엔티티 프레임 워크를 통해 데이터베이스에
Product product = new Product();
product.CreateDateTime = DateTime.Now;
product.Description = productCreateModel.Product.Description;
product.ManufacturerId = productCreateModel.Manufacturer;
product.MetaDescription = productCreateModel.Product.MetaDescription;
product.MetaTitle = productCreateModel.Product.MetaTitle;
product.Name = productCreateModel.Product.Name;
product.Status = ProductStatuses.Active;
product.URL = productCreateModel.Product.URL;
if (productCreateModel.ProductImage1.ContentLength > 0)
{
BinaryReader binaryReader = new BinaryReader(productCreateModel.ProductImage1.InputStream);
product.ProductImages.Add(new ProductImage()
{
CreateDateTime = DateTime.Now,
Image = binaryReader.ReadBytes(productCreateModel.ProductImage1.ContentLength),
PrimaryImage = true
});
}
db.Products.Add(product);
db.SaveChanges();
을 할 수있는 깨끗한 방법이 있는지 궁금 해요 - 내가 좋겠 이 방식으로 할 수 있기를 좋아합니다 여러 db.TableName.Add/db.SaveChanges를 수행하는 대신에 그것을 올바르게 수행 할 수 있어야합니다. 올바르게 이해하면 EF는 트랜잭션을 생성하므로 어떤 제품 이미지도 삽입되지 않은 팬텀 제품 레코드가 생성되지 않습니다 그 말이 맞는다면?
얼마나 많은 객체를 추가했는지 관계가 무엇이든 관계없이 하나의'db.SaveChanges()'만으로도이 작업을 수행 할 수 있습니다. – Bobson