我有三个类:Tab,网页和基础。我的Tab类包含一个网页对象。所以像这样:
public class Tab : Base
{
public Webpage webpage {get; set;}
//other code
}
public class Webpage : Base
{
public string url {get; set;}
//other code
}
public class Base
{
public int id {get; set;}
//other code
}
我正在尝试使用linq查询来插入Tab对象,但是当我执行dbConn.Insert(myTabObj)时,它会在尝试插入网页时返回错误。现在我知道我可以序列化它并存储在表中。
但是,我想知道是否有办法自动将网页添加到网页表并将该网页的ID存储在选项卡表中。
编辑:或者是否可以以某种方式“查看”网页对象内部并将该网址存储在Tab表中。但是当检索它时会再次将URL存储在网页对象中。
答案 0 :(得分:0)
首先,确保使用O / R设计器正确设计和链接Tab
和Webpage
类。您需要设置外键约束,以便Linq-to-SQL识别id
。
演练:创建LINQ to SQL类(O / R设计器)
http://msdn.microsoft.com/en-us/library/bb384428.aspx
然后,您可以使用InsertOnSubmit函数来安排将新对象插入到两个表中。
YourDBDataContext dataContext = new YourDBDataContext();
...
Webpage page = new Webpage();
page.id = "p1";
page.url = "http://stackoverflow.com";
dataContext.InsertOnSubmit(page);
Tab tab = new Tab();
tab.id = "t1";
tab.webpage = page;
dataContext.InsertOnSubmit(tab);
dataContext.SubmitChanges();