在开发工作中我们客户端连接 测试服务器开发工作,往往很多人操作数据库,如何甄别出自己操作

方法一:

在程序配置节点设置App节点,譬如:   

<add name="ModelEntities" connectionString="Data Source=10.10.10.10;UID=User;Password=; Initial Catalog=DEV; Pooling=True; MultipleActiveResultSets=True;" providerName="System.Data.SqlClient;App=XX" />

SQL Server Profiler 监控 Application 设置为 XX。

方法二:

在当前数据库 查询 本机客户端 监控本机操作

select HOST_NAME() 

查询出本机 HostName 名称

SQL Server Profiler 监控 Application 设置为 查询出来的 客户端名称。

方法三:

IQueryable query = from x in appEntities
             where x.id = 10
             select x;
var sql = ((System.Data.Objects.ObjectQuery)query).ToTraceString();
或者
var sql = ((System.Data.Entity.Core.Objects.ObjectQuery)query)
            .ToTraceString();


方法四:
在 AAEntities : DbContext 类,AAEntities 构造函数 添加以下语句,能在调试时候生成当前调试SQL语句

this.Database.Log = msg => Debug.WriteLine(msg);


12-29 10:11