【发布时间】:2019-03-09 11:48:36
【问题描述】:
我有一个绑定列表:
BindingList<partner> partnerList = _context.partner.Local.ToBindingList();
this._view.PartnerDatasource.DataSource = partnerList;
这是一个下拉菜单的数据源。我想要的是把一个特定的项目显示为下拉列表中的第一个项目。我尝试过这样的事情:
public void Swap<T>(IList<T> list, int indexA, int indexB)
{
T tmp = list[indexA];
list[indexA] = list[indexB];
list[indexB] = tmp;
}
然后:
this.Swap(partnerList, 0, partnerList.Count - 1);
这在交换时有效,但它以某种方式完全弄乱了实体框架,当我尝试使用这些实体(合作伙伴)时,我会进一步遇到各种错误......
什么是合适的方法来做到这一点?
【问题讨论】:
-
“完全搞乱了实体框架,当我尝试使用这些实体时,我会进一步遇到各种错误” - 怎么回事?
-
@Enigmativity 不知道。错误太多了,比如“不允许添加与处于已删除状态的实体的关系”等等……那个交换功能搞砸了。
-
错误什么时候发生?
-
当我尝试将另一个与合作伙伴实体相关的实体添加到上下文中时。 @韩
-
为什么要交换列表中的元素?它是数据库中的基础数据,交换任何元素对数据库没有任何积极影响。如果您需要为用户排序或重新排序,您应该在视图中而不是在基础数据中执行此操作。
标签: c# winforms entity-framework-6 datasource bindinglist