给定一个主键,是否有可能在EF Core模型中找到所有外键?

时间:2019-07-27 17:49:55

标签: entity-framework-core entity-framework-core-2.2

我正在使用一个相当大的EF核心模型,该模型具有在代码中定义的所有表和关系,这些表和关系最终附加到上下文对象。如果我有主键,是否有一种干净/有效的方法来获取模型中的所有相关列?

作为我正在使用的示例,此代码段用于查找给定表的主键名称(该表以其类型T已知,该类型是该代码所在函数的参数):

var keyName = context.Model.FindEntityType(typeof (T)).FindPrimaryKey().Properties.Select(x => x.Name).Single();

1 个答案:

答案 0 :(得分:0)

我在寻找关键对象的属性时找到了答案。不用获取名称,而是获取对象本身,然后调用其他两个方法来获取引用主键的外键:

        var key = context.Model.FindEntityType(typeof (T)).FindPrimaryKey().Properties.FirstOrDefault();
        var foreignkeys = key.GetContainingPrimaryKey().GetReferencingForeignKeys();