我正在使用 LLBLGen,我有一些这样的代码:
if (onlyRecentMessages)
{
messageBucket.PredicateExpression.Add(MessageFields.DateEffective >= DateTime.Today.AddDays(-30));
}
var messageEntities = new EntityCollection<MessageEntity>();
using (var myAdapter = PersistenceLayer.GetDataAccessAdapter())
{
myAdapter.FetchEntityCollection(messageEntities, messageBucket);
}
我目前在 FetchEntityCollection 行上收到 SqlException。错误是: System.Data.SqlClient.SqlException:传入的表格数据流 (TDS) 远程过程调用 (RPC) 协议流不正确。此 RPC 请求中提供的参数过多。最大值为 2100。
但这是一个旁注。我真正想做的是将生成的 SQL 包含在我的代码中的自定义异常中。因此,例如这样的事情:
using (var myAdapter = PersistenceLayer.GetDataAccessAdapter())
{
try
{
myAdapter.FetchEntityCollection(messageEntities, messageBucket);
}
catch (SqlException ex)
{
throw new CustomSqlException(ex, myAdapter.GeneratedSqlFromLastOperation);
}
}
当然,没有 GeneratedSqlFromLastOperation 这样的属性。我知道我可以配置日志记录,但我希望将信息直接放在我的堆栈跟踪/异常中,以便我现有的异常日志记录基础设施可以在发生此类错误时为我提供更多信息。
谢谢!史蒂夫