如何获取由Context.SaveChanges()生成的sql查询;命令。我需要这个,因为用户可以选择为数据分发创建一个脚本,而不是插入到本地基础中。实体框架脚本生成
谢谢。
更新:
我在WCF数据服务中使用实体框架。
如何获取由Context.SaveChanges()生成的sql查询;命令。我需要这个,因为用户可以选择为数据分发创建一个脚本,而不是插入到本地基础中。实体框架脚本生成
谢谢。
更新:
我在WCF数据服务中使用实体框架。
我的解决办法是:不要使用WCF数据服务,这仍然是不完整,如果你需要的安全性和可靠性,使用WCF服务,这样你就可以在自己的范围内有实体框架。 Wcf数据服务还不够成熟。
对于脚本,IAM使用字符串连接StringBuilder的使用。
如果您正在使用EF6,您可以使用DbContext.Database.Log
。例如,使用下面的SQL将被输出到一起的一些性能数据控制台:
Context.Database.Log = Console.WriteLine;
你也可以在你想从实际保存更改停止DbContext.SaveChanges
情况下进行拦截。
您可以找到有关这两个记录和拦截在this MSDN article信息。
这可以完成,但我使用的WCF数据服务非常有限。现在,我正在用stringbuilder创建sql脚本...是的,不是最好的解决方案。 – Mortalzera
顺便说一下,生成的查询非常复杂,几乎不可能维护。 – Mortalzera
如果是查询单个或少数几个,你可以看到(及复印件)SQL Server Profiler中(www.codeproject.com/Articles/21371/SQL-Server-Profiler-Step-by-正在运行的精确查询步)。如果你的意思是即时生成脚本,那么我不确定。 – HockeyJ
我正在使用实体框架,生成的SQL非常复杂,我相信我会保持。 – Mortalzera
你能不能给他们提供一个非常简单的软件来接收数据(可能是CSV或者他们想要的)并使用标准接口。我不希望人们直接在数据库上运行复杂的SQL脚本。 – HockeyJ