Linq to sql 日志-使用参数记录sql命令
我正在使用LINQDataContext.Log,我想用参数保存sql命令。我该怎么做 现在要记录的内容是:Linq to sql 日志-使用参数记录sql命令,linq-to-sql,Linq To Sql,我正在使用LINQDataContext.Log,我想用参数保存sql命令。我该怎么做 现在要记录的内容是: SELECT [t0].[Id_User], [t0].[FirstName], [t0].[LastName], [t0].[UserName], [t0].[Password], [t0].[District_Id], [t0].[Active], [t0].[MobileDevice_Id], [t0].[IsMobile], [t0].[IsWWW], [t0].[IsWhole
SELECT [t0].[Id_User],
[t0].[FirstName], [t0].[LastName],
[t0].[UserName], [t0].[Password],
[t0].[District_Id], [t0].[Active],
[t0].[MobileDevice_Id],
[t0].[IsMobile], [t0].[IsWWW],
[t0].[IsWholesaler], [t0].[Acc_Admin],
[t0].[Warehouse_Id], [t0].[PIN],
[t0].[ValidFrom], [t0].[ValidTo],
[t0].[IsExternal], [t0].[UserType],
[t0].[DefaultDepartment_Id],
[t0].[Code], [t0].[RowsOnPage],
[t0].[ClientGroup_Id],
[t0].[ClientGroup2_Id],
[t0].[ServerHash],
[t0].[CanOrderInPacks], [t0].[Email],
[t0].[IsAdmin],
[t0].[HasAccessToAllInferiorsData],
[t0].[IsSupplier], [t0].[Position],
[t0].[syncstamp] AS [Syncstamp],
[t0].[Source], [t0].[Deleted],
[t0].[DefaultClient_Id] FROM
[dbo].[Users] AS [t0] WHERE
([t0].[UserName] = @p0) AND
([t0].[Deleted] = @p1)
我想将@p0和@p1写入日志参数值可以通过以下代码行读取
var results = db.calltodatabase.Where(pradicate);
IQueryable query = results;
DbCommand dbCommand = dataContext.GetCommand(query);
var result = new SqlQueryText();
result.Text = dbCommand.CommandText;
int nParams = dbCommand.Parameters.Count;
result.Params = new ParameterText[nParams];
for (int j = 0; j < nParams; j++)
{
var param = new ParameterText();
DbParameter pInfo = dbCommand.Parameters[j];
param.Name = pInfo.ParameterName;
param.SqlType = pInfo.DbType.ToString();
object paramValue = pInfo.Value;
if (paramValue == null)
{
param.Value = null;
}
else
{
param.Value = pInfo.Value.ToString();
}
result.Params[j] = param;
}
我已经在创建的上下文中全局定义了writer,我想将其全部globally@dzajdol-不明白你的意思all@dzajdol-您可以修改代码并使其对您的应用程序通用,但我如何才能做到这一点??如何转换dataContext???@dzajdol-只需尝试一下,不需要它。参数值通常写在语句之后。我不明白这个问题。也许你需要打电话给Flush。如果你得到了想要的信息,别忘了将answwer标记为Accepted。。