3

Linq2SQL 具有强大的Log属性,可以查看它生成的实际 SQL 语句。SubSonic 2.2有类似的东西吗?

4

3 回答 3

1

http://www.e-webdevelopers.com/268/view-the-sql-generated-by-subsonic/

SqlQuery sq = new Select()
                   .From(Item.Schema)
                   .InnerJoin(ItemStatus.IstIDColumn, Item.ItmStatusColumn)
                   .InnerJoin(ItemCategory.ItcItemIDColumn, Item.ItmIDColumn)
                   .WhereExpression("ItmIsEnabled").IsEqualTo(true)
                   .AndExpression("ItmName").Like("%" + findThis + "%")
                   .Or(Item.ItmShortDescriptionColumn).Like("%" + findThis + "%")
                   .Or(Item.ItmItemCodeColumn).Like("%" + findThis + "%")
                   .Or(Item.ItmLongDescriptionColumn).Like("%" + findThis + "%")
                   .Paged(pageIndex, PageSize)
                   .OrderAsc("itmName");

          Response.Write(sq.ToString());

未测试,因为我不在我的开发箱前面。希望有帮助。

于 2009-11-10T10:17:35.923 回答
0

SubSonic 2.2 ActiveRecord 有一些可以覆盖的事件,例如 AfterValidate() 和 BeforeCommit()。您可以使用其中之一来记录 Sql,但您必须修改您的模板,以便代码最终出现在您的所有类中。

或者只是在您的本地 SubSonic 源中点击 SubSonic\DataProviders\DataService.cs,看看它是否可以将您的日志事件添加到所有 .Execute* 方法。

于 2009-11-18T09:19:23.873 回答
0

这不可能

于 2010-06-01T13:32:38.210 回答