gpt4 book ai didi

c# - 使用 Linq 查询和 SQLite 插入多个表(一对一关系)

转载 作者:行者123 更新时间:2023-11-30 18:32:52 24 4
gpt4 key购买 nike

我有三个类:Tab、Webpage 和 base。我的 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存储在标签表中。

编辑:或者是否有可能以某种方式“查看”网页对象内部并将 url 存储在 Tab 表中。但是在检索时它会再次将 url 存储在网页对象中。

最佳答案

首先,确保使用 O/R 设计器正确设计和链接了 TabWebpage 类。您需要设置外键约束,以便 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();

关于c# - 使用 Linq 查询和 SQLite 插入多个表(一对一关系),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18211406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com