无法将类型为“ System.Data.Entity.DynamicProxies”的对象转换为类型为“ BugTrackingSystem.BugDescriptor”

阿尼玛

我是C#的初学者,在做项目时遇到了一些麻烦。我有DataGridWindows Form,它已连接到数据库。要编辑数据库中的记录,我必须在datagrid上选择它。我写了选择代码,就在这里。

public BugDescriptor GetSelectedBug()
{
    BugDescriptor selectedBug = null;

    if (ctlBugs.SelectedRows.Count > 0)
    {
        selectedBug = (BugDescriptor) ctlBugs.SelectedRows[0].DataBoundItem;
    }
    if (ctlBugs.SelectedCells.Count > 0)
    {
        selectedBug = (BugDescriptor) ctlBugs.SelectedCells[0].OwningRow.DataBoundItem;
    }

    return selectedBug;
}

因此,ctlBugs是我的datagrid的名称,BugDescriptor是类,描述了数据库中记录的字段。当我尝试调试时,我有一个例外:Unable to cast object of type 'System.Data.Entity.DynamicProxies.Bug_ED6497CD7603C9E48A4F28CF92AF30E4A88B104DE0AC6FAF0D12F034495FF727' to type 'BugTrackingSystem.BugDescriptor

我做错了什么?问我,是否需要告诉我一些有关我的代码的信息。

附注:我已经阅读了类似问题的一些答案,但不知道如何在遇到麻烦时使用它们。

瓦格纳·多斯·安霍斯(Wagner DosAnjos)

看来其中的物件不是DataBoundItemtype 希望这对您的情况有意义。BugBugDescriptor

跟踪状态的实体框架动态生成可扩展实体类的代理类。这就是为什么您在异常中看到一个奇怪的类名的原因,而原始类名却是该名称的一部分。同样在VS上,您可以检查对象以找到基类。

System.Data.Entity.DynamicProxies。错误_ED6497CD7603C9E48A4F28CF92AF30E4A88B104DE0AC6FAF0D12F034495FF727

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档