ли EF поддержка 4 однонаправленный один-ко-многим ассоциаций, как в:Однонаправленные ассоциации «один-ко-многим» в платформе Entity Framework 4?
public class Parent
{
public int Id { get; set; }
public string Something { get; set; }
public List<Child> AllMyChildren { get; set; }
}
public class Child
{
public int Id { get; set; }
public string Anotherthing { get; set; }
// I don't want a back-reference to the Parent!
// public int ParentId { get; set; }
}
Когда я пытаюсь скомпилировать мой проект с ассоциацией между родителем и ребенком, где END2 навигации является пустой (потому что я отключили END2 навигации Property box в диалоговом окне Добавить ассоциацию), я получаю
Ошибка 2027: сопоставление не определено для следующего EntitySet/AssociationSet - Child.
UPDATE:
А что, если я просто есть список или аналогичную собственность на Родителя, а не список? Нужно ли создавать тип упаковки для хранения строки, чтобы я мог также сохранить обратную ссылку на родительский?
Почему вы не хотите обратную ссылку? Почему это вас беспокоит? Это * - поведение по умолчанию для EF, и я не думаю, что вы можете отключить это - ассоциация всегда является двусторонней улицей. –
@marc_s: Ребенку никогда не понадобится ссылаться на родителя и никогда не будет перемещен с одного родитель к другому. С точки зрения бизнес-объекта нет необходимости ссылаться на родителя или заботиться о нем. Если я добавлю ссылку на родителя, это просто для удовлетворения требований механизма сохранения. На самом деле Child был структурой с несколькими простыми свойствами, прежде чем мне пришлось изменить его на класс, чтобы удовлетворить EF. –
@ Эрик J: Хорошо, с точки зрения пуриста, я понимаю, что вы это понимаете. Но зачем бороться с этим - просто быть прагматичным и соглашаться с тем, как ваши рамки работают и работают по его линиям, а не против этого. Вы сбережете себе много горя. –