【发布时间】:2015-10-22 21:02:20
【问题描述】:
目前,我正在尝试使用 LINQ 连接到第三方数据库,以将值添加到包含序列号的表中。但是,当我尝试运行我的程序时,会弹出问题标题的错误。
目前,程序在此命令上失败:
string STRout = foo.AccountInfo(email, serialNum, "TEST2");
进入accountInfo方法,调用serialNumber方法的行如下(当前放置是为了测试):
this.newSerialNumber(serialNum);
最后,newSerialNumber 方法如下:
[WebMethod]
public bool newSerialNumber(string serialNum)
{
SerialNumbers new_SN = new SerialNumbers();
//serialNumber is the primary key in the SerialNumbers table
new_SN.SerialNumber = serialNum;
new_SN.Count = 1;
linqQueries.SerialNumbers.InsertOnSubmit(new_SN);
linqQueries.SubmitChanges();
return true;
}
此代码源自已经运行的代码,内容如下:
[WebMethod]
public bool CustomerInfo(string DealershipName, string DealershipEmail, string DealershipAddress, string Name, string DealershipNumber, string DealershipPhone, string serialNumber, string registrationNum)
{
//Add the new customer to the table
CustomerInformation newCustomer = new CustomerInformation();
newCustomer.DealershipName = DealershipName;
newCustomer.DealershipEmail = DealershipEmail;
newCustomer.DealershipAddress = DealershipAddress;
newCustomer.Name = Name;
newCustomer.DealershipNumber = DealershipNumber;
newCustomer.DealershipPhone = DealershipPhone;
linqQueries.CustomerInformations.InsertOnSubmit(newCustomer);
linqQueries.SubmitChanges();
//string activateCode = getActivation(registrationNum);
CustomerAccount newAccount = new CustomerAccount();
newAccount.SerialNumber = serialNumber;
newAccount.DealershipEmail = DealershipEmail;
newAccount.RegistrationNumber = registrationNum;
newAccount.CustomerInformation = newCustomer;
linqQueries.CustomerAccounts.InsertOnSubmit(newAccount);
linqQueries.SubmitChanges();
return true;
}
serialNumber 值除了作为 SerialNumbers 表中的主键之外,还被列为唯一值。
我是否遗漏了什么,或者在这种情况下我不知道是否有某种解决方法来解决这个异常?
【问题讨论】:
标签: c# .net sql-server database linq