Спецификация тождества в связи один один с Энтити Фрамеворк

Передо мной предстало сомнение относительно определения Identity для двух организаций, которые имеют по отношению к одному связь один.

В настоящее время у меня есть этот код:

public class Propiedad
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    public virtual Caracteristica_Propiedad Caracteristica_Propiedad { get; set; }
}

public class Caracteristica_Propiedad
{
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int Id { get; set; }

    public virtual Propiedad Propiedad { get; set; }
}

Мне хотелось бы знать, могу ли я применяться в организации Caracteristica_Propiedad Identity.

    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]

И кроме того, я хотел бы знать, хорошая практика ли это, так как id организаций они должны быть равны или: возможно использовать другую стратегию?

0
задан 19.01.2017, 23:25
1 ответ

В Caracteristica_Propiedad ты не можешь применять identity, потому что эта была бы должна использовать id, произведенный таблицей Propiedad

, Если бы таблица характеристик произвела Ваш, пойдите последовательность могла бы изменять относительно таблицы Свойство, следовательно ты не смог бы объединил бы asincronia между nro произведенных id.

Конфигурировал Оне-то-Серо-ор-Оне Релатионсип

краев в статье, как он использует [ForeignKey]

public class Propiedad
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    public virtual Caracteristica_Propiedad Caracteristica_Propiedad { get; set; }
}

public class Caracteristica_Propiedad
{
    [Key, ForeignKey("Propiedad")]
    public int Id { get; set; }

    public virtual Propiedad Propiedad { get; set; }
}

, я понимаю, что ты используешь DataAnnotations вместо Fluent API

1
ответ дан 24.11.2019, 13:27
  • 1
    Леандро, был тем, что я думал. Консультация, возможно применяться посредством EF или посредством SQL, что поле Пойдите Caracteristica_Propiedad, будьте типа readonly, как тебе это производит механизм SQL, когда этот seteado identity? Я к себе прибываю требование, в котором не нужно мочь изменять ручной формы через SQL managment studio. С этим, чего я не могу применять identity не sabr и # 237; в как решать это. – Mauro Petrini 09.09.2016, 22:27
  • 2
    если связь - одна, в один ты не будешь мочь менять Характерные id для организации, так как из-за связи целостности ты не будешь мочь распределять один, который не существовал бы в таблице Свойства, и также не сможешь распределять один или существующий, потому что он удвоил бы с другим, что или он считает это распределенным. Пробуют реализовывать доказательство и края, что с db ты не будешь мочь повторно распределять id – Leandro Tuttini 09.09.2016, 23:54

Теги

Похожие вопросы