每当我尝试保存或更新数据时,我的Web应用程序都使用EF 6.0 通过EF,它会抛出一个" null引用异常" .. 此方法负责创建产品
private Product createProduct()
{
Product product = new Product();
product.Name = txtName.Text;
product.Price = Convert.ToInt32(txtPrice.Text);
product.ProductTypeId = Convert.ToInt32(ddlType.SelectedValue);
product.Desciption = txtDesciption.Text;
product.Image = ddlImage.SelectedValue;
return product;
}
此方法正在调用"插入产品方法"
protected void btnSubmit_Click(object sender, EventArgs e)
{
ProductModel model = new ProductModel();
Product product = createProduct();
lblStatus.Text = model.InsertProduct(product);
}
此方法正在执行"产品插入功能"它抛出异常
public string InsertProduct(Product product)
{
try
{
PizzaHuttSliceEntities db = new PizzaHuttSliceEntities();
db.Products.Add(product);
db.SaveChanges();
return product.Name + "was successfully inserted! ";
}
catch (Exception e)
{
return "Error: " + e;
}
}
这是产品类
public partial class Product
{
public Product()
{
this.Carts = new HashSet<Cart>();
}
public int ID { get; set; }
public int ProductTypeId { get; set; }
public string Name { get; set; }
public int Price { get; set; }
public string Desciption { get; set; }
public string Image { get; set; }
public virtual ICollection<Cart> Carts { get; set; }
public virtual ProductType ProductType { get; set; }
}
这是跟踪信息
答案 0 :(得分:1)
解决!实际上问题出在ddlType DataSource
,我只是为SqlDataSource
刷新了ddlType
的模式,问题就消失了。因为我对数据库进行了更新,这就是ddlType
指向不再存在的此类引用的原因,因此DbContext.SaveChanges
方法抛出null reference exception
感谢所有关注我的问题的人