ich Probleme erlebe einen komplexen Typ in Abbildung auf einer Modellklasse (genannt Assignment
) mit EntityFramework 6.EF6-Code Erste/Fluent API werfen Fehler mit Komplexe Typen
Ich habe folgendes Assignment
Modellklasse (nur die relevanten Mitglieder gezeigt sind):
public class Assignment
{
private AssignmentDueByInfo _dueIn;
public Assignment() {
_dueIn = new AssignmentDueByInfo(this)
}
public virtual AssignmentSettingInfo DueIn
{
get { return _dueIn; }
protected set { _dueIn = value; }
}
}
wo AssignmentSettingInfo
definiert ist als:
public class AssignmentSettingInfo
{
protected AssignmentSettingInfo(Assignment assignment)
{
Assignment = assignment;
}
protected readonly Assignment Assignment;
public virtual int? LessonId { get; protected set; }
public virtual Lesson Lesson { get; protected set; }
}
In Entity 6 Framework I ha habe das folgenden CodeFirst/Fluent API-Mapping für die Assignment
Klasse auf eine Tabelle in einer Datenbank:
Property(t => t.DueIn.LessonId).HasColumnName("DueByLessonId");
HasOptional(x => x.DueIn.Lesson)
.WithMany(x => x.AssignmentsDue)
.HasForeignKey(x => x.DueIn.LessonId)
.WillCascadeOnDelete(true);
Die Abbildung den folgenden Fehler zu werfen:
The expression 'x => x.DueIn.Lesson' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty'
Warum ist das passiert und wie es sein sollte Fest?
Ich denke, Dies ist EF-Beschränkung - komplexe Typen können keine Navigationseigenschaften enthalten. –