仅使用Id属性在实体框架中定义外键

本文关键字:框架 定义 实体 Id 属性 | 更新日期: 2023-09-27 18:07:28

我正在努力与实体框架。我想要实现的是拥有一个只有Id的实体,它将定义一个外键,而不实际引用相关实体。怎样才能实现呢?

Class.cs:

public class Class {
    Guid Id {get; set} // this is my primary key
    Guid ProfessorId {get; set; } // this has to be id of professor which is a foreign key
}

Professor.cs

public class Class {
    Guid Id {get; set} // this is a primaty key of professor and it should constraint ProfessorId
}

我使用流利的api。我不能添加任何虚拟属性到上面的类(基本上我不能修改它们),那么映射应该如何配置?

仅使用Id属性在实体框架中定义外键

我明白你不能修改实体,但你需要添加至少一个导航属性。为了让实体框架理解这种关系,它是必要的。在你的代码中,ProfessorId只是一个标量属性

唯一的另一种方法是直接从上下文执行sql命令

dbContext.Database.ExecuteSqlCommand("...");