[DataContract]
public class Match
{
[DataMember]
public Guid Id { get; set; }
public virtual Tour Tour { get; set; }
[DataMember]
public DateTime DateMatch { get; set; }
public virtual Team Home { get; set; }
public virtual Team Guest { get; set; }
public virtual Result Result { get; set; }
}
[DataContract]
public class Result
{
[DataMember]
public Guid Id { get; set; }
public virtual Match Match { get; set; }
public virtual List<Goal> Goals { get; set; }
}
当我收到错误时,我试图在Entity Framework中执行此操作:
无法确定类型'OperationWithTeams.Result'和'OperationWithTeams.Match'之间关联的主要结尾。必须使用关系流畅API或数据注释显式配置此关联的主要结尾。
答案 0 :(得分:0)
由于模型定义了Match
和Result
之间的循环引用,因此必须在模型构建器中明确定义所需的行为。
假设没有匹配就不能存在结果,但是匹配可以不存在结果,则匹配主体和结果依赖:
ModelBuilder.Entity<Match>().HasOptional(m => m.Result).WithRequired(r => r.Match);