【问题标题】:How to view LINQ Generated SQL statements on insert?如何在插入时查看 LINQ 生成的 SQL 语句?
【发布时间】:2016-09-16 16:16:09
【问题描述】:

如何在insert语句上查看linq生成的SQL?

using (DataClasses1DataContext db = new DataClasses1DataContext())
            {
                db.tblCameras.InsertOnSubmit(new tblCamera() {
                    CameraID=textbox1.Text,
                    IPAddress=textbox2.Text,
                });
                db.SubmitChanges();
            }

我打算在这个数据库的另一个副本上执行生成的 sql,我已经尝试过使用

db.Log = Console.Out;

但是这个生成的对我来说没有用

INSERT INTO [dbo].[tblCamera]([CameraID], [IPAddress])
VALUES (@p0, @p1)
-- @p0: Input Int (Size = -1; Prec = 0; Scale = 0) [14]
-- @p1: Input NVarChar (Size = 4000; Prec = 0; Scale = 0) [1]
-- Context: SqlProvider(Sql2008) Model: AttributedMetaModel Build: 4.6.1586.0

任何建议!

【问题讨论】:

  • 你可能想看看这个类似问题的答案:stackoverflow.com/questions/850024/…
  • @IsThatQueeblo 我需要做同样的事情,但通过代码,我需要完整的 sql 生成查询。
  • @Lightwalker 上一个使用 db.Log 的链接,在我的情况下它没有用,谢谢。
  • 确定一下,您使用的是 Linq2Sql,而不是 EntitiyFramework?

标签: c# sql sql-server linq


【解决方案1】:

您应该尝试使用 SQL Profiler 捕获查询,并且可以轻松地从那里复制/粘贴 SQL 查询。

检查这个:https://msdn.microsoft.com/hu-hu/library/ms175047.aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 2010-09-05
    相关资源
    最近更新 更多