예제 #1
0
        public async Task AddAsync(List <TrendingTopic> trendingTopics)
        {
            using (var context = new TwitBotContext())
            {
                context.Set <TrendingTopic>().AddRange(trendingTopics);

                await context.SaveChangesAsync();
            }
        }
예제 #2
0
        public async Task UpdateAsync(List <Tweet> tweets)
        {
            using (var context = new TwitBotContext())
            {
                foreach (var tweet in tweets)
                {
                    context.Entry <Tweet>(tweet).State = EntityState.Modified;
                }

                await context.SaveChangesAsync();
            }
        }
예제 #3
0
        public async Task AddAsync(TwitterUser user)
        {
            using (var context = new TwitBotContext())
            {
                var existingEntity = await context
                                     .Set <TwitterUser>()
                                     .Where(i => i.TwitterId == user.TwitterId)
                                     .SingleOrDefaultAsync();

                if (existingEntity == null)
                {
                    context
                    .Set <TwitterUser>()
                    .Add(user);

                    await context.SaveChangesAsync();
                }
            }
        }
예제 #4
0
        public async Task AddAsync(List <Tweet> tweets)
        {
            using (var context = new TwitBotContext())
            {
                var existingIds = await context
                                  .Set <Tweet>()
                                  .Select(i => i.TweetId)
                                  .ToListAsync();

                tweets
                .Where(i => !existingIds.Contains(i.TweetId))
                .Select(i =>
                {
                    context
                    .Set <Tweet>()
                    .Add(i);

                    return(i);
                })
                .ToList();

                await context.SaveChangesAsync();
            }
        }