从TableAdapter查询时无法启用约束

时间:2018-03-26 18:17:42

标签: c# sql-server constraints tableadapter

我在静态类中的表适配器中创建了一个查询,它执行以下查询:

SELECT
    d.Date, c.Activity, b.Balance
FROM
    dbo.BalanceImport b
LEFT JOIN dbo.CashActivity c ON c.Sequence = b.Seq_CashActivity
LEFT JOIN dbo.dimDate d ON d.Sequence = b.Seq_dimDate
WHERE
    d.Date = @Date

调用它的代码如下:

public static DataView GetImportByDate(DateTime importDate)
{
    return _BalanceImportTableAdapter.GetBAIByDate(importDate.ToShortDateString()).DefaultView;
}

但是,当我调用它时,我收到以下错误消息:

Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.

FWIW,我们使用Erwin建模数据,然后在我们的数据库中自动生成一些触发器,但是我现在已经禁用了所有这些触发器。

当我在SSMS中手动运行查询时,以及在DataSet的查询生成器中测试它时,它正在工作,但在我运行代码时却没有。

Stack Trace为我带来了BAIImportTable Adapter方法的以下生成代码:

public virtual FinanceDWDataSet.BalanceImportDataTable GetBAIByDate(string Date) {
    this.Adapter.SelectCommand = this.CommandCollection[1];
    if ((Date == null)) {
        throw new global::System.ArgumentNullException("Date");
    }
    else {
        this.Adapter.SelectCommand.Parameters[0].Value = ((string)(Date));
    }
    FinanceDWDataSet.BalanceImportDataTable dataTable = new FinanceDWDataSet.BalanceImportDataTable();
    this.Adapter.Fill(dataTable);
    return dataTable;
}

0 个答案:

没有答案