EfDbContext连接创建新数据库,导致FK错误

时间:2013-06-19 14:20:07

标签: sql-server linqpad

我有一个有效的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,它包含数据库连接的connectionString。当我将连接字符串放在后端的App.config中并指向它时,我得到了同样的错误。

使用Profiler,我可以看到,当我设置连接并测试它时,LINQPad会查询数据库。只有在我尝试X.Take(100)时才会遇到问题。

1 个答案:

答案 0 :(得分:1)

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

更新:

让它与LINQPad一起“工作”的修复实际上已经破坏了很多的东西,所以我将它恢复到我们如何拥有它并假设LinqPad的问题不是{{3正如预期的那样。