2015-10-30 2 views
0

OK Я хочу знать, есть ли способ сопоставить отношения внешнего ключа с EF Code First Data Annotations вместо использования Fluent API, если имена не совпадают. Вот мой сценарий. У меня есть две таблицы с отношением «один-много» с внешним ключом.EF Code First Foreign Key Association Attribute

таблица A Security с: Int SecurityID (PK) // Другими колоннами INT IncomeFrequencyID (FK)

таблицы частот с Int FrequencyID (PK) // Других колонками

Так IncomeFrequencyID сопоставляется FrequencyID

Тогда в моем коде Первая:

public class Security 
{ 
    public int SecurityID {get;set;} 
    //Other properties 
    public int IncomeFrequencyID {get;set;} 

    //Navigation Properties 
    public virtual Frequency IncomeFrequency {get;set;} 
} 

public class Frequency 
{ 
    public int FreqencyID {get;set;} 
    //Other properties 
} 

Есть ли способ выполнить отношения EF с использованием аннотаций данных? Возможно, используя AssociationAttribute?

[Association("FK_Security_Frequency", "IncomeFrequencyID", "FrequencyID", IsForeignKey = true)] 

ответ

2

Используйте атрибут ForeignKey, например:

public class Security 
{ 
    public int SecurityID {get;set;} 
    //Other properties 
    public int IncomeFrequencyID {get;set;} 

    //Navigation Properties 
    [ForeignKey("IncomeFrequencyID")] 
    public virtual Frequency IncomeFrequency {get;set;} 
} 

А с другой стороны, отметьте его в качестве первичного ключа:

public class Frequency 
{ 
    [Key] 
    public int FreqencyID {get;set;} 
    //Other properties 
} 
+0

Спасибо. Намного легче, чем я думал. – dotnetmensch

Смежные вопросы