我正在使用一个相当大的EF核心模型,该模型具有在代码中定义的所有表和关系,这些表和关系最终附加到上下文对象。如果我有主键,是否有一种干净/有效的方法来获取模型中的所有相关列?
作为我正在使用的示例,此代码段用于查找给定表的主键名称(该表以其类型T已知,该类型是该代码所在函数的参数):
var keyName = context.Model.FindEntityType(typeof (T)).FindPrimaryKey().Properties.Select(x => x.Name).Single();
答案 0 :(得分:0)
我在寻找关键对象的属性时找到了答案。不用获取名称,而是获取对象本身,然后调用其他两个方法来获取引用主键的外键:
var key = context.Model.FindEntityType(typeof (T)).FindPrimaryKey().Properties.FirstOrDefault();
var foreignkeys = key.GetContainingPrimaryKey().GetReferencingForeignKeys();