У меня есть класс QuestionEF-код первого внешнего ключа
CompareItems магазин CurrentQuestion к OtherQuestion сравнивать информацию.
public class Question
{
public virtual ICollection<QuestionMark> CompareItems { get; set; }
}
public class QuestionMark
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public int Question { get; set; } //Store ID of OtherQuestion
public decimal Mark { get; set; }
}
Когда я удаляю некоторые вопрос А мне нужно, чтобы все Questionmark где QuestionMark.Question == A.Id также будут удалены, так как нет необходимости иметь сравнивать информацию, если вопрос не существует. Как это можно сделать, не делая QuestionMark.Question сущностью? Возможно, у EF есть правило в Fluent-API, чтобы установить, что QuestionMark.Question является внешним ключом на объекте Question?
Я не хочу делать QuestionMark.Question как сущность, потому что он должен будет изменить текущую серию решений - это первый. Кроме того, вопрос является довольно тяжелым лицом, и загрузить его несколько раз, чтобы присвоить значение или удалить, или еще что-то будет нажать на производительности
Чтобы добавить, если причина «потому что я хочу получить номер Вопроса из объекта QuestionMark», вы можете открыть как свойство внешнего ключа, так и свойство навигации. – hvd