1

我有一个工作的 MVC4 应用程序。我们最近决定尝试使用 LINQPad 进行测试和编写脚本。虽然我可以让它直接访问我们的数据库,但当我尝试使用我们的后端 EfDbContext 让它连接时,它会正确读取 DLL 并显示所有 POCO,但每个查询都会导致:

Introducing FOREIGN KEY constraint 'FK_dbo.Seekers_dbo.Companies_CompanyID' on table 'Seekers' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints. Could not create constraint. See previous errors.

我可以看到每次我尝试获取任何表的前 x 时都会创建一个 UserQuery 数据库。我让它指向 Web.config,它包含 DB 连接的 connectionString。当我将连接字符串放在后端的 App.config 中并指向它时,我得到了同样的错误。

使用 Profiler,我可以看到,当我建立连接并对其进行测试时,LINQPad 会查询它应该查询的数据库。只有当我尝试做X.Take(100)我遇到问题的地方时。

4

1 回答 1

1

问题是原始 POCO 没有正确设置,并且当它们被修复时,测试没有发现问题。分配正确的外键注释后,它似乎正在工作。

更新:

使它与 LINQPad 一起“工作”的修复实际上破坏了很多东西,所以我将它恢复到我们拥有它的方式,并假设 LinqPad 存在问题,没有按预期查询正确的数据库

于 2013-06-21T16:10:59.630 回答