Внешний ключ C # объекта для массива списка - PullRequest
0 голосов
/ 01 мая 2019

У меня есть класс PromoCard и List<PromoCard> PromoCards.Можно ли отобразить элемент массива List в Entity Model?

Это мой список:

public static List<PromoCard> PromoCards = new List<PromoCard>
{
    new PromoCard()
    {
        Id = 1,
        Crystal = 4500,
        Price = 100
    },
    new PromoCard()
    {
        Id = 2,
        Crystal = 24000,
        Price = 500
    },
    new PromoCard()
    {
        Id = 3,
        Crystal = 50000,
        Price = 1000
    },
};

public class PromoCard
{
    [Key]
    public int Id { get; set; }
    public int Crystal { get; set; }
    public int Price { get; set; }
}

А это моя модель:

public class BonusCard
{
    [Key]
    public int Id { get; set; }
    public string User_id { get; set; }
    [ForeignKey("User_id")]
    public virtual ApplicationUser User { get; set; }
    public int PromoCard_id { get; set; }
    // is there way to link 
    [ForeignKey("PromoCard_id")]
    public virtual PromoCard PromoCard { get; set; }
}

1 Ответ

0 голосов
/ 02 мая 2019

Все, что мне нужно было изменить геттер свойства PromoCard и поместить в него аннотацию NotMapped

public class BonusCard
{

    [Key]
    public int Id { get; set; }
    public string User_id { get; set; }
    [ForeignKey("User_id")]
    public virtual ApplicationUser User { get; set; }
    public string Code { get; set; }
    public DateTime CreationDate { get; set; } = (DateTime)SqlDateTime.MinValue;
    public DateTime UsageDate { get; set; } = (DateTime)SqlDateTime.MinValue;
    public int? Player_id { get; set; } = null;
    [ForeignKey("Player_id")]
    public virtual Player Player { get; set; }
    public int PromoCard_id { get; set; }
    [NotMapped]
    public  PromoCard PromoCard { get { return PromoCards[PromoCard_id]; } set { } }
}
...