using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel; using DataAnnotationsExtensions; using System.ComponentModel.DataAnnotations.Schema; using System.Collections.Generic; namespace CardNumbers.Objects { [ComplexType] public class PhoneInfo { [DataType(DataType.PhoneNumber)] [DisplayName("Phone")] [RegularExpression(@"^((\(\d{3}\)|\d{3})\s?)?\d{3}[-\s]?\d{4}\s*$", ErrorMessage = "Please enter valid Phone Number")] public virtual string Phone { get; set; } [StringLength(5)] [DisplayName("Ext")] public virtual string Ext { get; set; } public bool HasValue { get { return (Phone != null || Ext != null); } } } [ComplexType] public class ContactDetail { //Constructor public ContactDetail() { phoneInfo = new PhoneInfo(); } [StringLength(100)] [DisplayName("Contact Name")] [DisplayFormat(NullDisplayText = "")] public virtual string Contact { get; set; } [Email] [StringLength(100)] [DataType(DataType.EmailAddress)] [DisplayName("Email")] public virtual string Email { get; set; } public virtual PhoneInfo phoneInfo { get; set; } public bool HasValue { get { return (Contact != null || Email != null || phoneInfo.HasValue); } } } /// <summary> /// Client class (Client No, Client Name, Address, Contact1, Contact2 info, Created By, Modified By (operator and date) /// </summary> public class Client { public Client() { Contact1 = new ContactDetail(); Contact2 = new ContactDetail(); } [Key] [Editable(false)] [Column("ClientId",TypeName = "int")] public virtual int Id { get; set; } //[Required] [DisplayName("Client No")] [Column("client_no", TypeName = "smallint")] public virtual Int16 Number { get; set; } //[Required] [Column("client_name", TypeName = "varchar")] [DisplayName("Client Name")] [MaxLength(30, ErrorMessage = "Client Name should not be longer than 30 characters" )] [MinLength(3, ErrorMessage = "Client Name is too short")] public virtual string Name { get; set; } [DataType(DataType.MultilineText)] public virtual string Address { get; set; } public virtual ContactDetail Contact1 {get; set;} public virtual ContactDetail Contact2 {get; set;} [ForeignKey("EnteredByOperator")] public string EnteredBy { get; set; } [InverseProperty("ClientsEnteredBy")] public virtual Operator EnteredByOperator { get; set; } [ForeignKey("ModifiedByOperator")] public string ModifiedBy { get; set; } [InverseProperty("ClientsUpdatedBy")] public virtual Operator ModifiedByOperator { get; set; } [DataType(DataType.DateTime)] [DisplayName("Created on")] public DateTime EnteredOn { get; set; } [DataType(DataType.DateTime)] [DisplayName("Modified on")] public DateTime? ModifiedOn { get; set; } public virtual ICollection<ClientOrder> ClientOrders { get; set; } public virtual ICollection<Reorder> Reorders { get; set; } } }So, I don't even put anything in the Extension box, why does it produce the error?