C# 插入列表<&燃气轮机;并检查是否有重复项

C# 插入列表<&燃气轮机;并检查是否有重复项,c#,asp.net,sql-server,linq,C#,Asp.net,Sql Server,Linq,我正在尝试构建一个应用程序,它可以读取新闻RSS提要,然后将元素放入数据库中。稍后我可以从中为每个主题“标题”添加统计信息 我认为最好的方法是编写一个脚本,将xml数据解析到一个列表中,然后将这个列表插入数据库,同时检查其中的重复项 或者你有更聪明的方法吗 主要问题是,如何在数据库中插入一个列表,同时防止重复?谢谢你如果你想这样做,而不是列出一个清单,那就研究一下如何使用。如果您的新闻提要中有很多元素,那么hashset可以快速告诉您该元素是否已存在于集合中。在伪代码中,它基本上是: HashS

我正在尝试构建一个应用程序,它可以读取新闻RSS提要,然后将元素放入数据库中。稍后我可以从中为每个主题“标题”添加统计信息

我认为最好的方法是编写一个脚本,将xml数据解析到一个列表中,然后将这个列表插入数据库,同时检查其中的重复项

或者你有更聪明的方法吗


主要问题是,如何在数据库中插入一个列表,同时防止重复?谢谢你

如果你想这样做,而不是列出一个清单,那就研究一下如何使用。如果您的新闻提要中有很多元素,那么
hashset
可以快速告诉您该元素是否已存在于集合中。在伪代码中,它基本上是:

HashSet.Add(Element);

重复记录将被自动忽略(
Add
如果添加了项,则返回true;如果已经存在,则返回false)。

如果您希望这样做,而不是使用列表,请使用。如果您的新闻提要中有很多元素,那么
hashset
可以快速告诉您该元素是否已存在于集合中。在伪代码中,它基本上是:

HashSet.Add(Element);

重复记录将被自动忽略(
Add
如果添加了项,则返回true;如果已经存在,则返回false)。

如果您希望这样做,而不是使用列表,请使用。如果您的新闻提要中有很多元素,那么
hashset
可以快速告诉您该元素是否已存在于集合中。在伪代码中,它基本上是:

HashSet.Add(Element);

重复记录将被自动忽略(
Add
如果添加了项,则返回true;如果已经存在,则返回false)。

如果您希望这样做,而不是使用列表,请使用。如果您的新闻提要中有很多元素,那么
hashset
可以快速告诉您该元素是否已存在于集合中。在伪代码中,它基本上是:

HashSet.Add(Element);


<> >重复记录被自动忽略(<代码>添加<代码> >如果添加了项,则返回true,如果已经存在,则返回false)。是否从RSS源复制主题或在数据库中复制主题行?我假设您的数据库应该能够为每个主题存储多行。从RSS源复制主题。每个主题都是独一无二的,所以我唯一想检查的是当前的数据库,这样我就不会有重复的帖子。然后我相信cost会为你的用例提供一个很好的答案。这将使您获得检查重复项的固定时间查找。只要确保hashset的键就是主题,为什么不一次向数据库中插入一条记录呢?查找和拒绝重复项是数据库擅长的。如果您使用的是SQL server(如标记所示),为什么不添加到数据库中,避免自己检查重复项?表索引在检查重复性方面非常好。你认为复制品是什么?是否从RSS源复制主题或在数据库中复制主题行?我假设您的数据库应该能够为每个主题存储多行。从RSS源复制主题。每个主题都是独一无二的,所以我唯一想检查的是当前的数据库,这样我就不会有重复的帖子。然后我相信cost会为你的用例提供一个很好的答案。这将使您获得检查重复项的固定时间查找。只要确保hashset的键就是主题,为什么不一次向数据库中插入一条记录呢?查找和拒绝重复项是数据库擅长的。如果您使用的是SQL server(如标记所示),为什么不添加到数据库中,避免自己检查重复项?表索引在检查重复性方面非常好。你认为复制品是什么?是否从RSS源复制主题或在数据库中复制主题行?我假设您的数据库应该能够为每个主题存储多行。从RSS源复制主题。每个主题都是独一无二的,所以我唯一想检查的是当前的数据库,这样我就不会有重复的帖子。然后我相信cost会为你的用例提供一个很好的答案。这将使您获得检查重复项的固定时间查找。只要确保hashset的键就是主题,为什么不一次向数据库中插入一条记录呢?查找和拒绝重复项是数据库擅长的。如果您使用的是SQL server(如标记所示),为什么不添加到数据库中,避免自己检查重复项?表索引在检查重复性方面非常好。你认为复制品是什么?是否从RSS源复制主题或在数据库中复制主题行?我假设您的数据库应该能够为每个主题存储多行。从RSS源复制主题。每个主题都是独一无二的,所以我唯一想检查的是当前的数据库,这样我就不会有重复的帖子。然后我相信cost会为你的用例提供一个很好的答案。这将使您获得检查重复项的固定时间查找。只要确保hashset的键就是主题,为什么不一次向数据库中插入一条记录呢?查找和拒绝重复项是数据库擅长的。如果您使用的是SQL server(如标记所示),为什么不添加到数据库中,避免自己检查重复项?表索引非常擅长检查重复项。
Add
如果元素已经在集合中,请不要抛出,因此在这种情况下,
包含
是不必要的。@NicolasRepiquet我不知道,谢谢你的提示。我将更新我的答案。
Add
如果元素已经在集合中,请不要抛出,因此在这种情况下,
包含
是不必要的。@NicolasRepiquet我不知道,谢谢你的提示。我将更新我的答案。
Add
如果元素已经在集合中,请不要抛出,因此
包含
是不必要的