无法转换类型为'System.Data.Entity.DynamicProxies.Assignment ...'的对象

伊万·塔拉拉耶夫(Ivan Talalaev)

附加信息:无法将类型为“ System.Data.Entity.DynamicProxies.Assignment_20539BEAE4B141780E3B2D295A6858EAA8B5E9C0AD25E8A54154D0AB1E7DFA28”的对象转换为类型“ AssignmentSystem.Models.AssignmentViewModel”。

我有以下模型类的mvc应用程序

/// class for generating EF CodeFirst Db

public class Assignment
{
    public Int64 AssignmentId { get; set; }


    public Int64? ApplicationUserId { get; set; }


    public string Text { get; set; }


    public DateTime CreationDate { get; set; }


    public virtual List<User> Coordinators { get; set; }


    public virtual List<User> Executors { get; set; }


    public virtual List<User> DelayResponsible { get; set; }

    ....
    ....
}

/// this class for interaction with view
public class AssignmentViewModel : Assignment
{
    public IEnumerable<SelectListItem> AvaliableUsers { get; set; }
    public IEnumerable<SelectListItem> AvaliableExecutors { get; set; }
    public IEnumerable<SelectListItem> AvaliableCoordinators { get; set; }
    public IEnumerable<string> SelectedUsers { get; set; }
    public IEnumerable<string> SelectedExecutors { get; set; }
    public IEnumerable<string> SelectedCoordinators { get; set; }


    public AssignmentViewModel() : base ()
    {
        AvaliableUsers = new List<SelectListItem>();
        AvaliableExecutors = new List<SelectListItem>();
        AvaliableCoordinators = new List<SelectListItem>();

        SelectedUsers = new List<string>();
        SelectedExecutors = new List<string>();
        SelectedCoordinators = new List<string>();
    }
}

我的应用程序运行良好,但是过了一会儿(只需重新编译)POOOF!没用

我在代码中收到上述错误:

// GET: /Assignment/Edit/5
    public ActionResult Edit(long? id)
    {
        if (id == null)
        {
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        }
        AssignmentViewModel assignment = (AssignmentViewModel)db.Assignments.Include(a => a.Attachments)
            .Include(a => a.Coordinators)
            .Include(a => a.DelayResponsible)
            .Include(a => a.Executors)
            .Include(a => a.MemberComments)
            .Include(a => a.Initiator).First<Assignment>(f => f.AssignmentId == id); //here
        ....
        ....
    }

和这个:

AssignmentViewModel assignV = new AssignmentViewModel();
Assignment assignment = new Assignment();
assignV = (AssignmentViewModel) assignment;

也不起作用;

我试图清除此处写的VS 2013临时文件也试图在另一个目录整体解决方案中从头开始重建。试过这个

提前致谢。

朱Chu

代码正在尝试将Assignment对象(在第一个例外中,它实际上是继承自的动态代理对象Assigment)转换为AssignmentViewModel因为AssignmentViewModel继承自Assignment,所以它试图将一个不太具体的类型转换为一个更具体的类型。那是不可能的。

考虑使用类似AutoMapper的工具将模型映射到视图模型。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是什么导致“无法转换类型为'System.Data.Entity.DynamicProxies的对象”错误

来自分类Dev

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

来自分类Dev

序列化类型为'System.Data.Entity.DynamicProxies'的对象时检测到循环引用

来自分类Dev

序列化类型为'System.Data.Entity.DynamicProxies的对象时,检测到循环引用

来自分类Dev

详细信息视图显示“ System.Data.Entity.DynamicProxies

来自分类Dev

如何解决此“ System.Data.Entity.DynamicProxies”错误

来自分类Dev

无法将类型为'System.Data.Entity.DbSet`1 [ModelName]'的对象转换为类型为'System.Data.Entity.DbSet'

来自分类Dev

无法将类型为“ System.Data.Entity.DbSet” [City]的对象转换为类型为“ System.Collections.Generic.IEnumerable`1 [System.Web.Mvc.SelectListItem]”的对象

来自分类Dev

无法转换类型为'System.Data.Objects.ObjectContext的对象

来自分类Dev

脚手架EntityFramework 6无法将类型为'System.Data.Entity.Core.Objects.ObjectContext'的对象转换为'System.Data.Objects.ObjectContext'

来自分类Dev

脚手架EntityFramework 6无法将类型为'System.Data.Entity.Core.Objects.ObjectContext'的对象转换为'System.Data.Objects.ObjectContext'

来自分类Dev

合并两个EF查询,无法将类型为System.Data.Entity.Infrastructure.DbQuery的对象转换为System.Collections.Generic.IEnumerable

来自分类Dev

无法将类型为'System.Data.Objects.MaterializedDataRecord'的对象转换为类型为'myEntity'的错误

来自分类Dev

无法将类型为“ System.Int32”的对象转换为类型为“ System.Data.DataRowView”的对象

来自分类Dev

将linq转换为模型类失败“无法转换类型'System.Data.Entity.Infrastructure.DbQuery`1的对象”

来自分类Dev

Dapper无法将类型为“ Dapper.WrappedReader”的对象转换为类型为“ System.Data.SqlClient.SqlDataReader”的对象

来自分类Dev

附加信息:无法将类型为“ System.Windows.Forms.BindingSource”的对象转换为类型为“ System.Data.DataTable”的对象

来自分类Dev

无法将类型为“ System.Byte []”的对象转换为类型为“ System.String”的对象

来自分类Dev

无法将类型为“ System.DBNull”的对象转换为类型为“ System.Byte []”的对象

来自分类Dev

无法将类型为“ System.TimeSpan”的对象转换为类型为“ System.IConvertible”的对象

来自分类Dev

无法将类型'System.Linq.IQueryable'隐式转换为'System.Data.Entity.DbSet'

来自分类Dev

类型为“ System.Windows.Data.Binding”的对象不能转换为类型为“ System.Nullable`1 [System.Guid]”

来自分类Dev

无法使用类型为System.Data.Entity.Core.Objects.ObjectQuery的实例调用System.Data.Entity.DbSet

来自分类Dev

[InvalidCastException:无法将类型为“ System.DBNull”的对象转换为类型为“ System.String”。]

来自分类Dev

无法将类型为“ AttachmentDetailsDto”的对象转换为类型为“ System.String”的对象

来自分类Dev

System.InvalidCastException:无法将类型为“ System.Int32”的对象转换为类型为“ System.String”的对象

来自分类Dev

'无法将类型为'System.String'的对象转换为类型'System.Windows.Controls.ComboBoxItem

来自分类Dev

无法将类型为“ MyType”的对象转换为类型为“ IMyInterface`1 [System.IConvertible]”

来自分类Dev

无法将类型System.Data.Entity.Core.Objects.ObjectResult隐式转换为System.Data.Objects.ObjectResult

Related 相关文章

  1. 1

    是什么导致“无法转换类型为'System.Data.Entity.DynamicProxies的对象”错误

  2. 2

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

  3. 3

    序列化类型为'System.Data.Entity.DynamicProxies'的对象时检测到循环引用

  4. 4

    序列化类型为'System.Data.Entity.DynamicProxies的对象时,检测到循环引用

  5. 5

    详细信息视图显示“ System.Data.Entity.DynamicProxies

  6. 6

    如何解决此“ System.Data.Entity.DynamicProxies”错误

  7. 7

    无法将类型为'System.Data.Entity.DbSet`1 [ModelName]'的对象转换为类型为'System.Data.Entity.DbSet'

  8. 8

    无法将类型为“ System.Data.Entity.DbSet” [City]的对象转换为类型为“ System.Collections.Generic.IEnumerable`1 [System.Web.Mvc.SelectListItem]”的对象

  9. 9

    无法转换类型为'System.Data.Objects.ObjectContext的对象

  10. 10

    脚手架EntityFramework 6无法将类型为'System.Data.Entity.Core.Objects.ObjectContext'的对象转换为'System.Data.Objects.ObjectContext'

  11. 11

    脚手架EntityFramework 6无法将类型为'System.Data.Entity.Core.Objects.ObjectContext'的对象转换为'System.Data.Objects.ObjectContext'

  12. 12

    合并两个EF查询,无法将类型为System.Data.Entity.Infrastructure.DbQuery的对象转换为System.Collections.Generic.IEnumerable

  13. 13

    无法将类型为'System.Data.Objects.MaterializedDataRecord'的对象转换为类型为'myEntity'的错误

  14. 14

    无法将类型为“ System.Int32”的对象转换为类型为“ System.Data.DataRowView”的对象

  15. 15

    将linq转换为模型类失败“无法转换类型'System.Data.Entity.Infrastructure.DbQuery`1的对象”

  16. 16

    Dapper无法将类型为“ Dapper.WrappedReader”的对象转换为类型为“ System.Data.SqlClient.SqlDataReader”的对象

  17. 17

    附加信息:无法将类型为“ System.Windows.Forms.BindingSource”的对象转换为类型为“ System.Data.DataTable”的对象

  18. 18

    无法将类型为“ System.Byte []”的对象转换为类型为“ System.String”的对象

  19. 19

    无法将类型为“ System.DBNull”的对象转换为类型为“ System.Byte []”的对象

  20. 20

    无法将类型为“ System.TimeSpan”的对象转换为类型为“ System.IConvertible”的对象

  21. 21

    无法将类型'System.Linq.IQueryable'隐式转换为'System.Data.Entity.DbSet'

  22. 22

    类型为“ System.Windows.Data.Binding”的对象不能转换为类型为“ System.Nullable`1 [System.Guid]”

  23. 23

    无法使用类型为System.Data.Entity.Core.Objects.ObjectQuery的实例调用System.Data.Entity.DbSet

  24. 24

    [InvalidCastException:无法将类型为“ System.DBNull”的对象转换为类型为“ System.String”。]

  25. 25

    无法将类型为“ AttachmentDetailsDto”的对象转换为类型为“ System.String”的对象

  26. 26

    System.InvalidCastException:无法将类型为“ System.Int32”的对象转换为类型为“ System.String”的对象

  27. 27

    '无法将类型为'System.String'的对象转换为类型'System.Windows.Controls.ComboBoxItem

  28. 28

    无法将类型为“ MyType”的对象转换为类型为“ IMyInterface`1 [System.IConvertible]”

  29. 29

    无法将类型System.Data.Entity.Core.Objects.ObjectResult隐式转换为System.Data.Objects.ObjectResult

热门标签

归档