在 AssociationAttribute、Linq 中反映通过触发器创建的记录时出现问题

发布于 2024-12-02 22:11:02 字数 668 浏览 0 评论 0原文

表As和Bs之间存在一对n关系(外键关系)。每次在 As 中添加新记录时,表 As 中的“更新后”触发器都会在表 Bs 中创建 n 条记录。

有两个 Linq-to-SQL 类 A 和 B 分别代表表 As 和 Bs。

类 A 包含 B 属性(B 的 EntitySet)。类似地,在类 B 中,有一个属性 A,一个 EntityRef(of A)

查看以下代码:

 Public Function NewRecsOfB() As Integer
    Dim objDCDC As New DataClassesDataContext(gstrDatabaseValues)
    'gstrdatabaseValues contains the connection string

    Dim objA As New A


    objDCDC.As.InsertOnSubmit(objA)
    objDCDC.SubmitChanges()
    NewRecsOfB = objA.Bs.count
    objDCDC.Connection.Close()
    objDCDC = Nothing
End Function

执行上述函数时,结果始终为 0。而每次执行上述操作时,都会向表 Bs 添加 6 条新记录函数被执行。

请帮助解决上述问题。谢谢。

There is one-to-n relationship (foreign-key relationship) between tables As and Bs. Every time a new record is added in As, a trigger "after update" in table As creates n records in table Bs.

There are two Linq-to-SQL classes A and B representing the tables As and Bs respectively.

The class A contains Bs property an EntitySet(of B). Similarly in class B, there is a property A, an EntityRef(of A)

Look into following code:

 Public Function NewRecsOfB() As Integer
    Dim objDCDC As New DataClassesDataContext(gstrDatabaseValues)
    'gstrdatabaseValues contains the connection string

    Dim objA As New A


    objDCDC.As.InsertOnSubmit(objA)
    objDCDC.SubmitChanges()
    NewRecsOfB = objA.Bs.count
    objDCDC.Connection.Close()
    objDCDC = Nothing
End Function

When above function is executed the result is always 0. Whereas there are six records new records has been added to table Bs every time the above function is executed.

Please help in resolving the above problem. Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

兮子 2024-12-09 22:11:02

我不确定这是否是最好的方法,但您可以 Dispose() 数据上下文,创建新的数据上下文,通过 id 获取 objA 的新副本并检索Bs

I'm not sure if this is the best way, but you can Dispose() of your data context, create new one, get new copy of objA by id and retrieve Bs from that.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文