好的,所以我有这种LINQ to SQL的情况。我有一个DataContext对象链接到SQL数据库,我可以得到表和所有这些业务。这都在IIS内部的WCF服务中。
现在我在声明它时连接DataContext对象,它位于类的顶部,如下所示:
DataContext dc = new DataContext([ConnectionString]);
然后,稍后,我有方法来做一些事情,比如插入一个客户端(这是一种实体),看起来像这样:
public void InsertClient(Client client)
{
if(client.ClientID > 0)
return;
dc.Clients.InsertOnSubmit(client);
dc.SubmitChanges();
}
问题基本上是......有没有办法测试这种连接?如果有人在SubmitChanges之前拔了一个塞子怎么办?它不像它返回任何东西,所以它无法告诉我有一个特定的错误。
人们会如何推荐我这样做?
感谢。
答案 0 :(得分:4)
DataContext.SubmitChanges
将会抛出。
答案 1 :(得分:1)
public bool InsertClient(Client client)
{
if(client.ClientID > 0)
return;
dc.Clients.InsertOnSubmit(client);
try
{
dc.SubmitChanges();
return true;
}
catch
{
return false;
}
}
答案 2 :(得分:0)
嗯,datacontext有公共DataContext.Connection属性,所以如果你想要你可以做任何你想做的事......
但是我认为这并不是特别有用,因为无论如何,Submitchanges会像其他答案一样写出来。