我有以下代码:
IEnumerable<Table> tables = dbtables.ToList()
.Where(x => x.Name.StartsWith("PartStats"));
foreach (var tbl in tables)
{
Table JoinTable = new Table(db, "ProductMaterial");
JoinTable.Columns.Add(tbl.Columns[0]);
string tblName = tbl.Columns[0].Name;
string script =
@"ALTER TABLE [dbo].[ProductMaterial]
WITH CHECK ADD CONSTRAINT [FK_" + tbl.Name +
"] PRIMARY KEY([" + s;
string script2 = @"]) REFERENCES [dbo].[" + tbl.Name + "] ([" + tblName + "])" ;
string newscr = string.Concat(script, script2);
AddPrimaryKey(tbl, newscr);
这曾经有用,但是现在当我运行它时,我收到了这个错误:
“为表ProductMaterial的ColumnCollection添加对象集合失败”。
AddPrimaryKey()
只是在SQL Server上执行脚本,没问题。问题在于前面的代码调用。
服务器已启用,我正在使用SQL Server的本地管理员帐户(我的Windows帐户是SQL Server的管理员)。
由于
答案 0 :(得分:0)
也许在检查表中是否已经存在列时调用该调用。
if (!JoinTable.Columns.Contains(tbl.Columns[0].Name)
{
JoinTable.Columns.Add(tbl.Columns[0]);
}
您是否尝试添加名为“ProductMaterial”的多个 Table
?