我在项目中使用LINQ to SQL。我正在使用DataContext.CreateDatabase()方法来创建数据库。
有一个主表,其ID为OK
其他表将此ID称为FK。 我已将更新和删除角色设置为FK中的Cascade 。因此,只要删除了主表中的记录,就会自动从所有子表中删除所有引用记录。
如果我删除数据库并启动我的应用程序,它在启动时检查数据库是否存在。它创建数据库成功。但问题在于创建了FK。更新和删除角色设置为无操作而不是级联.. 因此我必须手动将所有FK更新和删除规范更改为级联
有人面临这个问题吗?解决方案是什么?
答案 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