#c# #sql-server #asp.net-mvc #entity-framework
#c# #sql-сервер #asp.net-mvc #entity-framework
Вопрос:
Я пытаюсь понять, что здесь происходит. Когда я заполняю свою базу данных, мой внешний ключ, который он генерирует, всегда равен нулю. Моя модель проста:
public class PnlTarget
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int PnlTargetId { get; set; }
public ReferenceAsset Underlyer { get; set; }
public decimal Target { get; set; }
public virtual PnlSettings PnlSettings { get; set; }
}
public class PnlSettings
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public int PnlSettingsId { get; set; }
public ColloquialType Type { get; set; }
public virtual PnlTarget SPTSX60 { get; set; }
public virtual PnlTarget SPTXLVPR { get; set; }
public virtual PnlTarget STBANKX { get; set; }
public virtual PnlTarget SX5E { get; set; }
public virtual PnlTarget RTY { get; set; }
public virtual PnlTarget SPX { get; set; }
[DataType(DataType.DateTime)]
public DateTime LastEdited { get; set; }
public string LastEditedBy { get; set; }
}
Итак, это отношение 1 .. 0 ко многим. Когда я заполняю его чем-то вроде этого:
PnlSettings vanillaAccelerator = new PnlSettings
{
PnlSettingsId = 1,
Type = ColloquialType.VanillaAccelerator,
RTY = new PnlTarget {Underlyer = ReferenceAsset.RTY, Target = (decimal) 0.004},
SPX = new PnlTarget {Underlyer = ReferenceAsset.SPX, Target = (decimal) 0.004},
SPTSX60 = new PnlTarget { Underlyer = ReferenceAsset.SPTSX60, Target = (decimal)0.004},
SPTXLVPR = new PnlTarget { Underlyer = ReferenceAsset.SPTXLVPR, Target = (decimal)0.004},
STBANKX = new PnlTarget { Underlyer = ReferenceAsset.STBANKX, Target = (decimal)0.004},
SX5E = new PnlTarget { Underlyer = ReferenceAsset.SX5E, Target = (decimal)0.004},
LastEdited = DateTime.Now,
LastEditedBy = "SEED"
};
Мое свойство внешнего ключа всегда равно null, как показано здесь . Я попытался реализовать свойство внешнего ключа вручную, используя аннотацию [ForeignKey], но, к сожалению, он по-прежнему генерирует этот нулевой столбец. Предназначено ли это?
Спасибо!
Комментарии:
1. Настроили ли вы свои отношения в базе данных?
2. каково ваше отображение? чтобы это сработало, я думаю, вам придется сопоставить свойство обратной навигации.