2013-07-05 2 views
0

У меня есть выражение интереса формы, которая использует следующую модель.NET MVC Один-к-одному

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; } 
} 

Я также иметь регистрационную форму, которая имеет следующую модель

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; } 
} 

Моя проблема Я не уверен, как установить связь между этими двумя моделями. Вы должны иметь запись в таблице «Выражение интересов» до того, как будет создана запись регистрации.

На минуту я получаю ошибку

Unable to determine the principal end of an association between the types 

В силу своего отношения один-к-одному на dsExpressionOfInterestID

мне нужно использовать аннотации данных, и если да кто-то может мне точку в правильном направлении, пожалуйста?

+1

Обратите внимание на соглашения о присвоении имен C# онлайн. Ваша схема именования необычна для C#. –

ответ

0

Я думаю, проблема в том, что неясно, что такое родительский элемент и что такое дочерняя таблица. Вы пытались удалить ссылку на родительский элемент в дочернем классе?

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; } 
} 
+0

Получение ошибки Оператор ALTER TABLE противоречил ограничениям FOREIGN KEY – Stephen

+0

Вы добавляете эти таблицы в первый раз или обновляете существующие таблицы? Вы делаете что-то похожее на это: [link] (http://stackoverflow.com/questions/13650257/adding-a-foreign-key-with-code-first-migration)? – Sam

+0

Получил работу. Мне нужно было принудительно перенаправить миграцию. – Stephen