Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq 如何协调两个集合_Linq_Tsql_Generics_Collections_Garbage Collection - Fatal编程技术网

Linq 如何协调两个集合

Linq 如何协调两个集合,linq,tsql,generics,collections,garbage-collection,Linq,Tsql,Generics,Collections,Garbage Collection,我有两个相同类型元素的集合。让我们把这些元素称为字母表。每个字母的ID为int,名称为string。 所以 等等。 第一个集合包含字母表,第二个集合包含选定的字母。 在第一步中,我创建新的selectedLettersCollection,这很简单。我只需将alphabet集合中的元素添加到SelectedLettersCollection,并立即从源集合alphabet中重新保存它。假设我创建了字母表前5个字母的集合,并将其保存到SQL表中。现在,字母表集合从F开始,包含字母到Z,Select

我有两个相同类型元素的集合。让我们把这些元素称为字母表。每个字母的ID为int,名称为string。 所以

等等。 第一个集合包含字母表,第二个集合包含选定的字母。 在第一步中,我创建新的selectedLettersCollection,这很简单。我只需将alphabet集合中的元素添加到SelectedLettersCollection,并立即从源集合alphabet中重新保存它。假设我创建了字母表前5个字母的集合,并将其保存到SQL表中。现在,字母表集合从F开始,包含字母到Z,SelectedLetters集合包含字母A、B、C、D和E

现在让我们假设我想从selectedLettersCollection中删除字母C并将其移回alphabet,从alphabet中获取字母G并将其移到selectedLettersCollection。 在LINQ、泛型集合和/或T-SQL中执行此操作的最有效方法是什么


我当然会创建一个新的选定项目临时集合,并将选定的元素加载到其中。然后,我将执行添加-删除操作。但到目前为止,我唯一想到的协调这些集合的方法是迭代SelectedLettersCollection和新的临时集合,并相应地移动元素,但我想知道是否有一种方法不需要像TSQL的连接那样迭代以查找空值。

我将使用a和B作为表名。 要将Id=1的行从表A移动到表B,请使用以下命令:

DELETE A 
OUTPUT deleted.Id, deleted.Letter INTO B
WHERE Id = 1;

哇…单词太多了,为什么只显示sql而不是单词?为什么不选择一个布尔属性的集合?@Blam-。。。因为源集合是当前490个元素的可重用集合。这些元素中的每一个都可能是无限多功能组的成员。然后你需要一个更好地反映你真正想要做什么的问题陈述。
DELETE A 
OUTPUT deleted.Id, deleted.Letter INTO B
WHERE Id = 1;