使用EF4.1的ToString()显示SQL命令

时间:2011-11-15 00:11:30

标签: entity-framework entity-framework-4.1

我有一个EF4.1数据库第一个应用程序,.ToString()方法只给我反射类型and not the SQL query

如何让我的应用程序以SQL格式显示Linq查询?

我已将C:\Program Files (x86)\Microsoft ADO.NET Entity Framework 4.1\Binaries\EntityFramework.dll的4.1版添加到我的项目中。我猜测ToString功能是通过扩展方法添加的,但即使我添加“Using system.data.Entity”,我也无法让字符串输出起作用。

  

这是否意味着ToString仅适用于Code First部署?

  public IEnumerable<CompanyDetail> GetAllCompanies(int? startPage, int? stopPage, string Filter, int? MaxResults)
    {
        var t = from c in _entities.CompanyDetail
                select c;

        string test = t.ToString();

        var t2 = _entities.CompanyDetail;

        string test2 = t2.ToString();
        return t.ToList();
    }

1 个答案:

答案 0 :(得分:1)

我可以确认它适用于数据库优先应用程序。

我猜你的代码仍在使用EF 4类,因为你没有提到将EF 4.1 DbContext生成器添加到你的模型中。如果是这种情况,您可以右键单击模型,选择“添加代码生成项...”并选择ADO.NET C#DbContext Generator。如果您在已安装的模板中没有看到它,请在在线模板下查找。