【问题标题】:How to get primary key columns out of a TSqlObject instance?如何从 TSqlObject 实例中获取主键列?
【发布时间】:2016-01-27 06:05:56
【问题描述】:

我正在尝试通过以下方式从 TSqlObject 实例中获取主键列:

var constraint = table.GetReferenced(ModelSchema.PrimaryKeyConstraint, DacQueryScopes.All);

这当然行不通,因为GetReferenced 方法需要ModelRelationshipClass 实例的实例。

那怎么做呢?

【问题讨论】:

    标签: .net sql-server sql-server-data-tools dacpac dac


    【解决方案1】:

    在给定表的情况下获取 PK 约束的代码如下所示:

    private static TSqlObject GetPrimaryKeyConstraint(TSqlObject table)
    {
        IEnumerable<TSqlObject> constraints = table.GetReferencing(PrimaryKeyConstraint.Host, DacQueryScopes.UserDefined);
        return constraints.First();
    }
    

    【讨论】:

      【解决方案2】:

      也看看这个:

      https://github.com/Microsoft/DACExtensions/tree/master/DacFxStronglyTypedModel

      你可以得到你想要的,而不必使用枚举/关系模型:)

      【讨论】:

        猜你喜欢
        • 2018-04-25
        • 1970-01-01
        • 2015-08-08
        • 1970-01-01
        • 2021-10-26
        • 2014-02-15
        • 1970-01-01
        • 2010-10-12
        • 2019-07-08
        相关资源
        最近更新 更多