所以我在数据库中的关系如下:
我们的想法是在将多个产品类别插入数据库之前将其添加到列表中。
我使用的是ADO.NET框架,映射的类产品包含产品类别列表。因此,当用户填写产品类别所需的表单时,我说:
Products p = new Products(... initializing);
ProductCategories p2 = new ProductCategories(...initializing);
p.ProductCategories.Add(p2);
我不了解的是在将这些ProductCategories项目插入数据库之前,如何将更多这些ProductCategories项目添加到此列表中。每当我添加新的,旧的似乎从列表中删除,我不明白为什么?订单应该是这样的:
第一个产品类别项目 第2 第三...
(如果用户停止添加....) - >点击保存按钮 - >将列表中的所有产品类别插入产品类别表...
而不是我只是用刚刚插入的新值覆盖旧产品类别。有人可以帮我解决这个问题吗?
编辑:这是负责将多个项目添加到列表中的完整代码
if (FileUpload1.PostedFile != null && FileUpload1.PostedFile.ContentLength > 0)
{
p = new Product();
// p is declared as property outside of all methods...
p.ProductName = txtProductTitle.Text;
p.Dimensions = ".";
p.PricePerUnit = float.Parse(txtProductPrice.Text);
System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.PostedFile.InputStream);
MemoryStream mem = new MemoryStream();
img.Save(mem, System.Drawing.Imaging.ImageFormat.Jpeg);
p.ProductPicture = mem.ToArray();
p.ProductPicThumb = mem.ToArray();
p.MeasurementUnitID = int.Parse(dropMeasure.SelectedValue);
p.PricePerFeet = 1.2F;
int pid = ServiceClass.InsertProduct(p);
ProductCategories p2 = new ProductCategories(...initializing);
p.ProductCategories.Add(p2);
Response.Write("<script>alert('Product successfully added!');</script>");
}
else
{
Response.Write("<script>alert('Something went wrong!');</script>");
}