Создать внешний ключ с использованием аннотаций данных
-
20-12-2019 - |
Вопрос
в следующем ниже, мне нужно установить внешний ключ на PORYINFOADDDPROPERTIES.ParentQuestionAndsWersid, чтобы он зависел от ParentQuestionswers.id (который является основным ключом).Я пытаюсь сделать это, используя аннотации данных, но рамки 6 сущности 6 хотят создать новую столбец внешнего ключа в моей таблице из родителей для родителей, которые ссылаются на столбец parentinfoaddproperties.id не полученные parentinfoaddproperties.parentquestquestionswersid.Я не хочу, чтобы основание для создания нового столбца внешнего ключа.
Я бы очень признателен, если кто-то может объяснить, какие данные аннотации или (при необходимости) свободно отображаются, я должен указать для достижения желаемого внешнего ключа.Заранее спасибо.
namespace Project.Domain.Entities
{
public class ParentQuestionAnswers
{
public ParentQuestionAnswers()
{
ParentInfoAddProperties = new ParentInfoAddProperties();
}
[Required]
public int Id { get; set; }
[Required]
public int UserId { get; set; }
public ParentInfoAddProperties ParentInfoAddProperties { get; set; }
}
public class ParentInfoAddProperties
{
[Required]
public int Id { get; set; }
[Required]
public int ParentQuestionAnswersId { get; set; }
}
}
. Решение
Вы можете использовать следующие данные аннотации и использовать объект вместо INT
[Required]
[ForeignKey("ParentQuestionAnswers")]
public ParentQuestionAnswers ParentQuestionAnswers { get; set; }
.
Чтобы получить удостоверение личности только вы можете добавить свойство
public int ParentQuestionAnswersId { get; set; }
.
Но вам все еще нужен свойство ParentQuestionAnswers
, поэтому EF поймет вас.
(эти строки кода должны быть под классом ParentInfoAddProperties
)
Другие советы
Добавить
[KeyAttribute]
.
к столбцу ID
и
[ForeignKeyAttribute]
.
к свойству ParentquestionAnsWersid.