日期:2014-05-20  浏览次数:20714 次

请教几个问题linq和数据绑定
1.用vs的O/R设计器生成的Linq to sql 的对象模型会为每个类添加 PropertyChangedEventHandler PropertyChanged(PropertyChanging)的event,感觉像是 代理 外部可以去订阅。我想知道这个有啥用。我在网上查了一下PropertyChangedEventHandler 有人用来数据的同步UI和后台。

2.我用Linq to sql 绑定到DataGridView(winform)
C# code
LinqToNorDataContext db = new LinqToNorDataContext();
            IQueryable<Order> orders =
                from order in db.Orders
                where order.Customer.CustomerID == "ALFKI"
                select order;//这种方式在前台可以编辑
                select new { order.CustomerID, order.OrderID, order.ShipCountry };//这种方式在前台不能编辑


我想知道为什么

3.DataGridView编辑/新建一行之后在后台怎么取到这些变化的行。因为我是用liq去绑定的所有
C# code

 DataTable source =dataGridView.DataSource as DataTable;//这种方式转换source 是null
            BindingSource bs = dataGridView.DataSource as BindingSource;//这种方式转换我怎么能知道哪些数据是编辑的或者新建的?



------解决方案--------------------
winform 里 “在前台可以编辑”是什么意思?

select new 得到是匿名类而已
------解决方案--------------------
为什么一定要转换成 DataTable 呢?