目前EF Core不支持使用Shadow元素进行多对多映射,而是需要使用described here之类的格式。
我已经实现了这一点,但我正在努力寻找一种方法来进行大规模删除。因此,在EF Core文档站点上列出的示例中,我想删除与帖子关联的所有标记。
我试过了
<?php
$fp = fopen('output.txt','w');
$conn = oci_connect('MYUSER', 'MYPASSWORD', 'xxx.xxx.xxx.xxxx/DBTEST','AL32UTF8');
$query = "SELECT ABALPH FROM CRPDTA.F0101 WHERE ROWNUM <= 1 ORDER BY NULL";
$stid = oci_parse($conn, $query);
oci_execute($stid, OCI_NO_AUTO_COMMIT);
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
fwrite($fp, $row['ABALPH']."\n");
}
fclose($fp);
?>
然后是Post.PostTags.Clear()
但没有任何反应。
在EF Core中删除多对多关系的正确方法是什么。
答案 0 :(得分:1)
试试这个
//Change the model names according to yours
var post = db.Posts.Include(p => p.PostTags).Single(/*something here*/);
db.PostTags.RemoveRange(post.PostTags.ToArray());
db.SaveChanges();
它适用于我。