WPF数据绑定中的异常处理
假设我在WPF应用程序中有以下代码:
try { // NorthwindDataContext is LINQ DataContext created for SQL Server Northwind database Data.NorthwindDataContext data = new Data.NorthwindDataContext(connectionString); var orders = from order in Data.Orders select order; listView.DataContext = orders; } catch (SqlException ex) { MessageBox.Show(ex.Message); }
如果connectionString不正确,则此代码不会立即抛出SqlException。 取而代之,当WPF数据绑定开始枚举LINQ查询时,抛出异常。 应用程序崩溃,未处理的异常。 在这种情况下如何处理异常?
我知道全局异常处理是可能的,但是我想要更精确的方法,它允许在执行特定函数时捕获特定的异常。
这是Linq的诅咒,而不是数据绑定。
您的查询已编译但未运行 - 您绑定的查询不是结果。 更改为以下代码:
var orders = from order in Data.Orders select order;
var realOrders = orders.ToList();
listView.DataContext = realOrders ;
基本上,您的存储库必须始终返回结果而不是原始查询。
链接地址: http://www.djcxy.com/p/51229.html