Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Entity Framework 5中获取修改对象列表_C#_Winforms_Entity Framework 5 - Fatal编程技术网

C# 如何在Entity Framework 5中获取修改对象列表

C# 如何在Entity Framework 5中获取修改对象列表,c#,winforms,entity-framework-5,C#,Winforms,Entity Framework 5,我将实体列表绑定到数据网格视图,如下所示: var orders = context.Order.ToList(); BindingList<Order> orderList = new BindingList<Order>(orders); dataGridView1.DataSource = orderList; 编辑2求解: BindinList<Order> orders = (BindingList<Order>)dataGridV

我将
实体列表绑定到数据网格视图,如下所示:

var orders = context.Order.ToList();

BindingList<Order> orderList = new BindingList<Order>(orders);

dataGridView1.DataSource = orderList;
编辑2求解:

BindinList<Order> orders = (BindingList<Order>)dataGridView1.Datasource;

Order order = new Order();

context.Order.Add(order);

order.Add(order);
BindinList orders=(BindinList)dataGridView1.Datasource;
订单=新订单();
context.Order.Add(Order);
订单。添加(订单);

System.Data.Entity
必须被引用才能使用
.ToBindingList()
并且您必须使用EF4.1或更高版本。

感谢您的快速响应。您的代码可以获取已修改实体的列表,但无法获取新实体的列表。我提供了用于添加新实体的代码。你能帮我弄清楚吗?@DoanCuong,请看更多的答案细节。对不起,你能告诉我如何实现
BindingSource.Add()
IBingdingList.Add()
?还有一件事,在
dbset.local
上没有
ToBindingList()
函数。唯一的方法是使用
var bindingList=newbindingList(context.Orders.Local.ToList())@DoanCuong,答案已更新。它可能比我所说的更复杂,这取决于你的实体,但通过一些研究,你应该能够解决它。谢谢你的教训,先生!这真的帮了我的忙。
BindinList<Order> orders = (BindingList<Order>)dataGridView1.Datasource;

Order order = new Order();

context.Order.Add(order);

order.Add(order);
List<Object> modifiedOrAddedEntities = context.ChangeTracker.Entries()
 .Where(x => x.State == System.Data.EntityState.Modified 
        || x.State == System.Data.EntityState.Added)
 .Select(x=>x.Entity).ToList();
context.Orders.Load();
BindingList<Order> bindingList = context.Orders.Local.ToBindingList();
BindingSource ordersBindingSource = new BindingSource();
ordersBindingSource.DataSource = bindingList;
dataGridView1.DataSource = ordersBindingSource ;