如何将源绑定到没有对象的实体

时间:2015-02-18 15:46:17

标签: c# devexpress entity-framework-6

抱歉,我不知道如何解释标题中的问题......

在设计模式下,当我将BindingSource绑定到实体类时,源没有对象(不是null)。 我想在运行时模式下做同样的事情;绑定到相同的类型或w / e ...

BindingSource.DataSource = new entity(); // doesn't work because it's not clear
BindingSource.DataSource = new EntityCollection<entity>() //it's clear, but is not the original type

我真正想做的是这样的事情: 对于我的表Sales和SaleDetails

if (Sales.Count > 0)
   -bind to collection or something
else
   -bind to the original type (the one in design mode)

(绑定到null并不起作用,因为绑定错误...如果我使用bindingSource.Clear()它也不起作用,因为当我调用ctx.Savechanges()时它会删除所有实体

1 个答案:

答案 0 :(得分:0)

我建议你从使用Data Source Configuration Wizard开始。它提供了简单直观的方法将Grid控件绑定到任何数据源。例如,使用Entity Framework数据源,您可以将GridControl直接绑定到EF数据源,通过BindingSource组件,或使用DevExpress提供的特殊数据绑定组件,在synchronousasynchronous中执行绑定方式,使用parallel data-processing或不使用它。

根据此向导,基于BindingSource的方法将如下所示:

// This line of code is generated by Data Source Configuration Wizard
// Instantiate a new DBContext
NorthwindEntities dbContext = new NorthwindEntities();
// Call the Load method to get the data for the given DbSet from the database.
dbContext.Orders.Load();
// This line of code is generated by Data Source Configuration Wizard
bindingSource.DataSource = dbContext.Orders.Local.ToBindingList();

它还在InitializeComponent()方法中生成以下行,以提供管理所有GridControl设计时设置的功能:

BindingSource.DataSource = typeof(Entity)