C# linq到sql插入的帮助
我使用三个表,但只插入两个表(一个称为图像,另一个称为中间表)。他们都有关系 表格:C# linq到sql插入的帮助,c#,linq-to-sql,C#,Linq To Sql,我使用三个表,但只插入两个表(一个称为图像,另一个称为中间表)。他们都有关系 表格: 产品组-- ID 名称 ProductGroup_图像-- ProductGroupID 图像SID 图像- ImageID 路径 下面的代码可以写得更优雅些吗 using (StoreDataContext db = new StoreDataContext()) { Image img = new Image
产品组--
ID
名称
ProductGroup_图像--
ProductGroupID
图像SID
图像-
ImageID
路径
下面的代码可以写得更优雅些吗
using (StoreDataContext db = new StoreDataContext())
{
Image img = new Image
{
Path = "https://s3.amazonaws.com/mystore/images/public/" + FileUpload1.PostedFile.FileName,
};
db.Images.InsertOnSubmit(img);
db.SubmitChanges();
var pg = db.ProductGroups.Where(a => a.Name == txtName.Value).Select(b => b.ID).Single();
ProductGroups_Image xref = new ProductGroups_Image
{
ProductGroupsID = pg,
ImagesID= img.ImagesID
};
db.ProductGroups_Images.InsertOnSubmit(xref);
db.SubmitChanges();
}
您可以尝试以下方法
ProductGroup temp = db.ProductGroups.Where(a => a.Name == txtName.Value.Select(a).Single();
temp.Images.Add(img);
db.SubmitChanges;
既然有引用属性,为什么还要担心ID呢
Image img = new Image();
img.Path = @"https://s3.amazonaws.com/mystore/images/public/"
+ FileUpload1.PostedFile.FileName;
ProductGroups_Image xref = new ProductGroups_Image();
xref.Image = img;
using (StoreDataContext db = new StoreDataContext())
{
ProductGroup pg = db.ProductGroups.Where(a => a.Name == txtName.Value).Single();
xref.ProductGroup = pg;
db.SubmitChanges();
}
太棒了,我不知道你能这样做。为什么书籍和在线示例显示使用语句插入dataContext中的示例并使用db.tableName.InsertOnsubmit?书籍和在线示例通常教授dataContext和Table的公共契约,而不是微妙的对象跟踪功能。url字符串前面的@符号是什么?