实体框架脚本生成

时间:2014-01-21 13:25:01

标签: c# sql wcf entity-framework wcf-data-services

如何获取Context.SaveChanges()生成的sql查询;命令。我需要这个,因为用户可以选择创建数据分发脚本,而不是插入本地库。

感谢。

更新:

我正在使用带有WCF数据服务的实体框架。

2 个答案:

答案 0 :(得分:1)

如果您使用的是EF6,则可以使用DbContext.Database.Log。例如,使用以下内容,SQL将沿着一些性能数据输出到控制台:

Context.Database.Log = Console.WriteLine;

如果您想阻止DbContext.SaveChanges实际保存更改,您也可以执行拦截。

您可以在this MSDN article中找到有关记录和拦截的信息。

如果您使用的是以前的版本,可以查看thisthis文章。

答案 1 :(得分:0)

我的解决方案是:不要使用仍然不完整的Wcf数据服务,如果您需要安全性和可靠性,请使用Wcf服务,这样您就可以拥有自己的实体框架。 Wcf数据服务还不够成熟。

对于脚本,我使用字符串连接和stringbuilder。