我正在尝试通过TSqlObject
以下方式从实例中获取主键列:
var constraint = table.GetReferenced(ModelSchema.PrimaryKeyConstraint, DacQueryScopes.All);
当然这不起作用,因为该GetReferenced
方法需要一个实例的ModelRelationshipClass
实例。
那么怎么做呢?
我正在尝试通过TSqlObject
以下方式从实例中获取主键列:
var constraint = table.GetReferenced(ModelSchema.PrimaryKeyConstraint, DacQueryScopes.All);
当然这不起作用,因为该GetReferenced
方法需要一个实例的ModelRelationshipClass
实例。
那么怎么做呢?
在给定表的情况下获取 PK 约束的代码看起来有点像这样:
private static TSqlObject GetPrimaryKeyConstraint(TSqlObject table)
{
IEnumerable<TSqlObject> constraints = table.GetReferencing(PrimaryKeyConstraint.Host, DacQueryScopes.UserDefined);
return constraints.First();
}
也看看这个:
https://github.com/Microsoft/DACExtensions/tree/master/DacFxStronglyTypedModel
你可以得到你想要的,而不必使用枚举/关系模型:)