Mas*_*ani 8 c# linq sql-server entity-framework asp.net-web-api
我想以编程方式获取翻译的Linq查询并使用该Sql语法执行一些操作.
假设这是我的代码:
public class MyApiController:ApiController
{
public IQueryable<object> Get()
{
var objs=Context.Objexts.Where(m=>m.Id>10);
return objs;
}
}
Run Code Online (Sandbox Code Playgroud)
我想找到并获得如下的Sql语法:
SELECT * FROM dbo.Objexts where Id > 10
Run Code Online (Sandbox Code Playgroud)
您可以调用该ToString()方法objs.这将导致调用返回已执行SQL 的ToTraceString 方法:
string sql = objs.ToString();
Run Code Online (Sandbox Code Playgroud)
如果您使用的是Entity Framework 6的另一个选项是使用新功能来记录什么是发生的,您可以获得t-sql和查询时间:
using (var context = new BlogContext())
{
context.Database.Log = Console.Write; //here, you can write this info to a text file for example.
// Your code here...
}
Run Code Online (Sandbox Code Playgroud)