无法将匿名类型转换为我的MVC模型

时间:2015-04-05 08:24:50

标签: c# linq entity-framework

当运行LINQ查询时,它运行正常并在我包含" result.Dump()"时获得预期的结果。方法。 匿名类型可以正常使用。

但是,我需要将此匿名类型放入我的模型中,并且遇到以下转换问题(请参阅图像 - 使用您最喜欢的查看器查看图像)。

enter image description here

客户是具有以下型号的项目的母公司。由于代码中存在以下异常,我无法使用类型模型:

实体或复杂类型' CodeFirstNamespace.Customer'不能在LINQ to Entities查询中构造。

namespace YeagerTechDB.Models
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.Runtime.Serialization;

    [Serializable, DataContract(IsReference = true)]

    public partial class Customer
    {
        public Customer()
        {
            Projects = new HashSet<Project>();
        }

        [Key]
        [ScaffoldColumn(true)]
        [Display(Name = "ID")]
        [DataMember]
        public short CustomerID { get; set; }

        [Required]
        [StringLength(256)]
        [DataMember]
        public string UserName { get; set; }

        [Required]
        [StringLength(50)]
        [EmailAddress]
        [DataMember]
        public string Email { get; set; }

        [StringLength(50)]
        [DataMember]
        public string Company { get; set; }

        [StringLength(50)]
        [DataMember]
        public string FirstName { get; set; }

        [StringLength(50)]
        [DataMember]
        public string LastName { get; set; }

        [StringLength(50)]
        [DataMember]
        public string Address1 { get; set; }

        [StringLength(50)]
        [DataMember]
        public string Address2 { get; set; }

        [StringLength(50)]
        [DataMember]
        public string City { get; set; }

        [StringLength(2)]
        [DataMember]
        public string State { get; set; }

        [StringLength(10)]
        [DataType(DataType.PostalCode)]
        [RegularExpression(@"^\d{5}(-\d{4})?$", ErrorMessage = "Must match 99999 or 99999-9999 format")]
        [DataMember]
        public string Zip { get; set; }

        [StringLength(12)]
        [DataType(DataType.PhoneNumber)]
        [RegularExpression(@"^\s*([\(]?)\[?\s*\d{3}\s*\]?[\)]?\s*[\-]?[\.]?\s*\d{3}\s*[\-]?[\.]?\s*\d{4}$", ErrorMessage = "Must match 999-999-9999 format")]
        [DataMember]
        public string HomePhone { get; set; }

        [StringLength(12)]
        [DataType(DataType.PhoneNumber)]
        [RegularExpression(@"^\s*([\(]?)\[?\s*\d{3}\s*\]?[\)]?\s*[\-]?[\.]?\s*\d{3}\s*[\-]?[\.]?\s*\d{4}$", ErrorMessage = "Must match 999-999-9999 format")]
        [DataMember]
        public string CellPhone { get; set; }

        [StringLength(100)]
        [DataType(DataType.Url)]
        [DataMember]
        public string Website { get; set; }

        [StringLength(50)]
        [DataType(DataType.Url)]
        [DataMember]
        public string IMAddress { get; set; }

        [DataType(DataType.DateTime)]
        [Display(Name = "Created")]
        [DataMember]
        public DateTime CreatedDate { get; set; }

        [Display(Name = "Updated")]
        [DataType(DataType.DateTime)]
        [DataMember]
        public DateTime? UpdatedDate { get; set; }

        [DataMember]
        public virtual ICollection<Project> Projects { get; set; }
    }
}


namespace YeagerTechDB.Models
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.Runtime.Serialization;

    [Serializable, DataContract(IsReference = true)]
    public partial class Project
    {
        [Key]
        [ScaffoldColumn(false)]
        [Editable(false)]
        [Display(Name = "Proj ID")]
        [DataMember]
        public short ProjectID { get; set; }

        [ScaffoldColumn(false)]
        [Editable(true)]
        [Display(Name = "Cust ID")]
        [DataMember]
        public short CustomerID { get; set; }

        [Required(ErrorMessage = "Required!")]
        [StringLength(30)]
        [Display(Name = "Project Name")]
        [DataMember]
        public string Name { get; set; }

        [Required]
        [DataType(DataType.MultilineText)]
        [DataMember]
        public string Description { get; set; }

        [ScaffoldColumn(true)]
        [Display(Name = "Category")]
        [DataMember]
        public short CategoryID { get; set; }

        [ScaffoldColumn(true)]
        [Display(Name = "Priority")]
        [DataMember]
        public short PriorityID { get; set; }

        [ScaffoldColumn(true)]
        [Display(Name = "Status")]
        [DataMember]
        public short StatusID { get; set; }

        [DataType(DataType.Currency)]
        [DataMember]
        public decimal? Quote { get; set; }

        [DataType(DataType.MultilineText)]
        [DataMember]
        public string Notes { get; set; }

        [DataType(DataType.DateTime)]
        [Display(Name = "Created")]
        [DataMember]
        public DateTime CreatedDate { get; set; }

        [DataType(DataType.DateTime)]
        [Display(Name = "Updated")]
        [DataMember]
        public DateTime? UpdatedDate { get; set; }

        [DataMember]
        public virtual Category Category { get; set; }
        [DataMember]
        public virtual Customer Customer { get; set; }
        [DataMember]
        public virtual Priority Priority { get; set; }
        [DataMember]
        public virtual Status Status { get; set; }
        [DataMember]
        public virtual ICollection<TimeTracking> TimeTrackings { get; set; }
    }
}

0 个答案:

没有答案