我不明白为什么我会收到这个错误。我也习惯于 .NET 抛出一个我可以调试的实际错误。相反,我在输出控制台中得到以下内容:
A first chance exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.Linq.dll
我已经多次重新创建应用程序和数据库。奇怪的是,它第一次工作(它是一个不同的应用程序和不同的数据库,但过程是相同的)。
- 创建 4.0 窗体应用程序
- 通过 vs 创建一个 .mdf 数据库
- 在数据库上创建表
- 创建 linq to sql 文件并将表拖到上面。
- 输入linq代码并运行代码。我得到了已经提到的错误。
实际代码是:
// i changed the variable names before posting so if I spelled cats wrong thats not the problem
static public void Insert(Cat[] cats)
{
using (Cats.lsMapDataContext db = new lsMapDataContext(Global.db_path))
{
foreach (Cat cat in cats)
{
history history = new history();
history.name = cats.name;
history.breed = cats.breed;
db.histories.InsertOnSubmit(history);
db.SubmitChanges(); // i silently fail here because silent fails are cool and helpful
}
}
}
为什么它可能会这样做有一些常见的原因吗?该数据库是在 Documents 中为我所在的用户创建的(此计算机/管理员只有一个)。据我所知,没有特殊的访问权限。
有没有办法挂钩该 dll,以便在它崩溃时对其进行调试?一个pdb什么的?