LINQ to SQL - 使用VB批量插入

时间:2009-08-10 22:38:05

标签: vb.net linq-to-sql

任何人都有一些很好的例子(newb值得)大量插入应该是什么样子或一个很好的解释方法,利用整个LINQ to SQL方法?

我有一个带有大约7个表的数据库,我正在尝试将一些.net页面连接起来,尽管我可以对这些表格中的大多数表格进行测试,但是我有一点时间插入它们。我发现的一个复杂的场景围绕GUID的使用以及如何将特定的GUID传播到另一个表中......

任何人都有任何想法/例子吗?

1 个答案:

答案 0 :(得分:1)

您可能希望更深入地了解问题的性质和当前的设置。

之前我没有真正搞过LINQ,所以我只是设置了一个非常简单的项目。我能够将GUID插入两个单独的表中就好了。

    Dim db As New testDBDataContext

    ' Table1 ID (Primary Key)
    Dim gId As Guid = Guid.NewGuid()

    ' Table2 ID (Primary Key)
    Dim gId2 As Guid = Guid.NewGuid()

    ' Insert Record into Table 1
    Dim tb1Insert As New test_tb1 With {.Id = gId, .Name = "TestName"}
    db.test_tb1s.InsertOnSubmit(tb1Insert)

    ' Insert Record into Table 2, with testID referenced to Table1's Primary Key
    Dim tb2Insert As New test_tb2 With {.Id = gId2, .test1Id = gId, .OtherName = "OtherName"}
    db.test_tb2s.InsertOnSubmit(tb2Insert) '

    ' Commit Changes
    db.SubmitChanges()

我得到错误的唯一方法是在两个表之间在SQL Server中建立关系。然后,如果我首先尝试插入表2,它将会出错,因为我会尝试插入一个GUID表2的“test1ID”,但没有表1中的GUID。

如果您遇到“与COLUMN FOREIGN KEY约束冲突”错误,那可能就是发生了什么。