Создание 2 одинакового внешнего ключа в Castle Active Record - PullRequest
0 голосов
/ 17 января 2012

У меня здесь 2 сущности

скажем

Полет flight_id - PK Происхождение - FK1 пункт назначения - FK2

Страны country_id - ПК страна код

пример кода Класс полета { public int ID {get; задавать; }

  [BelongsTo(Column = "Origin", ForeignKey = "country_id")]
  public Countries Origin {get; set;}

  [BelongsTo(Column = "destination", ForeignKey = "country_id")]
  public Countries Destination {get; set; }

}

Я получаю сообщение об ошибке при создании схемы в Activerecord. Что будет альтернативой этому? спасибо!

1 Ответ

2 голосов
/ 05 февраля 2012

Вы называете параметр ForeignKey в атрибуте BelongsTo одинаковым для обеих клавиш.Этот параметр не является именем столбца, который вы хотите использовать, а фактически именем ограничения, которое ActiveRecord использует для именования его при создании схемы.

Я сделал некоторые предположения и расширил ваш пример кода с помощьюпример, который работает:

[ActiveRecord]
public class Flight
{
    [PrimaryKey]
    public int Id { get; set; }

    [BelongsTo(Column = "Origin", ForeignKey = "country_id_origin")]
    public Countries Origin { get; set; }

    [BelongsTo(Column = "Destination", ForeignKey = "country_id_destination")]
    public Countries Destination { get; set; }
}

[ActiveRecord]
public class Countries 
{
    [PrimaryKey]
    public int country_id { get; set; }

    [Property]
    public string CountryName { get; set; }
}
...