gpt4 book ai didi

linq-to-sql - 如何在执行 : Linq2Sql Classes 之前更改更新语句

转载 作者:行者123 更新时间:2023-12-01 05:37:46 25 4
gpt4 key购买 nike

我已经在我使用 Linq2Sql 的一些表上实现了更改跟踪 (http://msdn.microsoft.com/en-us/library/cc280462.aspx)。

作为其中的一部分,我需要将以下 SQL 添加到生成的更新语句的开头。

DECLARE @originator_id varbinary(128);
SET @originator_id = CAST('SyncService' AS varbinary(128));
WITH CHANGE_TRACKING_CONTEXT (@originator_id)
....generated statements....
....
....

我知道我可以创建存储过程并手动映射字段,但如果可能,我想避免这种情况。

有人知道在 SubmitChanges() 上覆盖和编辑 SQL 的方法吗?

最佳答案

您可以通过在 LINQ to SQL 将调用的数据上下文上实现部分类来覆盖 Update 方法。只需给它签名:
partial void UpdateClassName(ClassName instance)
您还可以使用它通常会执行的操作:
ExecuteDynamicInsert(instance);
不幸的是,没有机制可以让插入/更新/删除的预期 SQL 返回(您可以在 DataContext 上使用 GetCommand 获取 SELECT 语句)

关于linq-to-sql - 如何在执行 : Linq2Sql Classes 之前更改更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7708057/

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