我有两张桌子即。 tblProduct和Brands,tblProduct包含: ProductId,ProductName,Quantity,Price,Entry_Date。 和品牌包含:ProductId,BrandID,BrandName,BrandDescription,DietType,ProductId(来自tbProduct的FK)。
我使用LINQ并希望在点击按钮时将这些数据插入到两个表中,这里是插入方法:
protected void BtnAdd_Click(object sender, EventArgs e)
{
tblProduct products = new tblProduct();
using (ProductDataContext context = new ProductDataContext())
{
try
{
tblProduct prod = new tblProduct();
{
prod.ProductName = TxtProductName.Text;
prod.Quantity = Int32.Parse(TxtQuantity.Text);
prod.Price = Int32.Parse(TxtPrice.Text);
prod.Entry_Date = DateTime.Parse(TxtDate.Text);
};
context.tblProducts.InsertOnSubmit(prod);
context.SubmitChanges();
Label2.Text = "Product Inserted";
Brand br = new Brand();
{
br.BrandName = TxtBrandName.Text;
br.BrandDescription = TxtBrandDescription.Text;
br.DietType = TxtDietType.Text;
};
prod.Brands.Add(br);
context.Brands.InsertOnSubmit(br);
context.SubmitChanges();
Label1.Text = "Done";
}
catch (Exception exe)
{
Label1.Text = exe.Message;
}
}
}
我试图在两个表上插入,但insert命令只适用于第一个表(tblProducts),但没有在Brands表中插入任何内容,我不确定看起来是什么问题在这里。 请注意,BrandID和ProductId(在两个表上)都设置为自动增量。
答案 0 :(得分:1)
试试这个(注意ProductId)
swal({
title: "¡Hecho!",
text: "¡Has Agregado un Usuario Nuevo!",
closeModal: false
}).then(function() {
swal.close();
$('#nombre').val('')
$('#apellido').val('');
$('#correo').val('');
$('#password').val('');
$('#nombre').focus();
});
答案 1 :(得分:1)
将记录插入具有外键约束的表时,记录的外键值必须连接到它引用的主键。
因此,在插入品牌记录时,您需要包含以下内容:
br.ProductID = prod.ProductId;
这将允许维护外键约束。
编辑:mike123打败了我,但你明白了。