Q:

.NET MVC One-to-One relationship

I have an Expression of Interest Form which uses the following model
public class dsExpressionOfInterest
{
    public int dsExpressionOfInterestID { get; set; }

    [Required(ErrorMessage = "Please enter a Date")]
    [DataType(DataType.Date)]
    [Display(Name = "Date")]
    public DateTime Date { get; set; }

    [Required(ErrorMessage = "Please enter the Contact Person")]
    [Display(Name = "Contact Person")]
    public string ContactPerson { get; set; }

    [Required(ErrorMessage = "Please enter the Telephone Number")]
    [Display(Name = "Telephone")]
    public string Telephone { get; set; }

    [Required(ErrorMessage = "Please enter the nature of the query")]
    [Display(Name = "Nature of query")]
    public string NatureOfQuery { get; set; }

    public virtual dsRegistration dsRegistration { get; set; }
}

I also have  Registration Form which has the following model
public class dsRegistration
{
    public int dsRegistrationID { get; set; }

    public int dsExpressionOfInterestID { get; set; }

    [Display(Name = "SLA")]
    public bool SLAReceived { get; set; }

    [DataType(DataType.Date)]
    [Display(Name = "Date Received")]
    public DateTime? SLAReceivedDate { get; set; }

    public virtual dsExpressionOfInterest dsExpressionOfInterest { get; set; }
}

My problem is I am unsure of how to set the relationship between these two models.
You must have a record in the Expression Of Interest Table before a Registration Record can be created.
At the minute I am getting the error
Unable to determine the principal end of an association between the types

In effect its a One-to-One relationship on dsExpressionOfInterestID
Do I need to use data annotations, and if so can someone point me in the right direction please?

A:

I think the problem is that it's not clear what's the parent and what's the child table. Have you tried removing the link to the parent in the child class?
public class dsRegistration
{
    public int dsRegistrationID { get; set; }

    public int dsExpressionOfInterestID { get; set; }

    [Display(Name = "SLA")]
    public bool SLAReceived { get; set; }

    [DataType(DataType.Date)]
    [Display(Name = "Date Received")]
    public DateTime? SLAReceivedDate { get; set; }
}

