在开发工作中我们客户端连接 测试服务器开发工作,往往很多人操作数据库,如何甄别出自己操作
方法一:
在程序配置节点设置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);