Linq to Sql创建数据库外键问题

时间:2011-07-18 06:14:15

标签: c# database linq-to-sql

我在项目中使用LINQ to SQL。我正在使用DataContext.CreateDatabase()方法来创建数据库。

有一个主表,其ID为OK

其他表将此ID称为FK。 我已将更新和删除角色设置为FK中的Cascade 。因此,只要删除了主表中的记录,就会自动从所有子表中删除所有引用记录。

如果我删除数据库并启动我的应用程序,它在启动时检查数据库是否存在。它创建数据库成功。但问题在于创建了FK。更新和删除角色设置为无操作而不是级联.. 因此我必须手动将所有FK更新和删除规范更改为级联

有人面临这个问题吗?解决方案是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用DeleteOnNull=true对关联进行删除。

请注意,DeleteOnNull与删除级联并不完全相同,因为此删除是在c#代码中完成而不是在数据库中完成 - 有关详细信息,请参阅此博客http://blogs.msdn.com/b/dinesh.kulkarni/archive/2008/05/11/linq-to-sql-tips-4-use-deleteonnull-if-you-want-to-delete-object-with-null-fk.aspx