我有一个存储异常消息的数据库。 我想创建一个获取这些异常的查询,但不是倾倒大量的文本,而是希望它“按需”。
我想把这个异常放入一个这样的锚标签中,然后在需要的时候通过鼠标悬停来阅读该消息就行了......显然不行。
var logsForErrors = (from error in Logs
select new {
error = LINQPad.Util.RawHtml("<a title='"+ error.Exception+"'></a>"),
errorDate = error.Date,
errorMessage = error.Message
}).Take(10);
logsForErrors.Dump();
这是抛出异常(lol) - “无法解析自定义HTML:”
编码异常消息
...RawHtml("<a title='"+ Uri.EscapeDataString(error.Exception)+"'></a>")
消息无法翻译表达式'RawHtml(((“h__TransparentIdentifier0.error.Exception))+ “'&gt;”))'进入SQL并且无法将其视为本地表达式。 将生成新错误
有什么想法吗? - 我也愿意接受其他解决方案。
我只是想要一个容器来代替它只是将它直接转储到输出中,因为它太大了!。
谢谢, 钢钣
答案 0 :(得分:1)
您是否尝试过在最近的测试版中使用“结果到DataGrids”模式?它可能就是你需要的,而不必写任何其他内容。
编辑:您的错误可能是由于在不转义文本的情况下发出HTML。最简单的解决方案是使用XElement而不是字符串调用Util.RawHtml。您可以编写一个扩展方法来执行您想要的操作:
public static class Extensions
{
public static object Tooltipize (this string data)
{
if (string.IsNullOrEmpty (data) || data.Length < 20) return data;
return Util.RawHtml (new XElement ("span", new XAttribute ("title", data), data.Substring (0, 20)));
}
}
将其添加到我的扩展程序中,您可以在任何查询中使用它。