当运行LINQ查询时,它运行正常并在我包含" result.Dump()"时获得预期的结果。方法。 匿名类型可以正常使用。
但是,我需要将此匿名类型放入我的模型中,并且遇到以下转换问题(请参阅图像 - 使用您最喜欢的查看器查看图像)。
客户是具有以下型号的项目的母公司。由于代码中存在以下异常,我无法使用类型模型:
实体或复杂类型' 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; }
}
}