private void InsertData(List <MessageEntity> messages, SqlApplicationDbContext context) { foreach (var message in messages) { context.Users.Add(message.User); message.PostDate = message.PostDate?.ToUniversalTime(); context.Messages.Add(message); foreach (var tag in message.HashTags) { var tagToLink = context.Hashtags.FirstOrDefault(x => x.HashTag == tag.HashTag) ?? tag; var tag2Message = new MessageHashTagRelationsEntity { HashTagEntity = tagToLink, MessageEntity = message }; context.TaggedMessages.Add(tag2Message); if (tagToLink.IsNew) { context.Hashtags.Add(tagToLink); } } } }
public void CompareLinesInDatabaseTest() { var options = new DbContextOptionsBuilder <SqlApplicationDbContext>() .UseInMemoryDatabase(databaseName: "CompareLinesInDatabaseTest") .Options; using (SqlApplicationDbContext context = new SqlApplicationDbContext(options)) { //Arrange var hashtag = new HashTagWord("microsoft"); var handler = new EfMessagesGetQueryHandler(context); var query = new MessagesQuery { HashTag = hashtag }; var mapper = new EntityToMessagesResultMapper(); var data = GetData(hashtag); InsertData(data, context); context.SaveChanges(); //Act var result = handler.Handle(query); MessagesQueryResult mappedResult = mapper.MapBunch(data, hashtag); //Assert Assert.Equal(mappedResult.Messages, result.Result.Messages); } }
public CreateMessageCommandHandler(SqlApplicationDbContext context) : base(context) { this.context = context; }
public EfMessagesGetQueryHandler(SqlApplicationDbContext context) : base(context) { }
protected EfQueryHandler(SqlApplicationDbContext context) { Context = context; }
public EfHashTagByNameQueryHandler(SqlApplicationDbContext context) : base(context) { }
public EfHashTagParentGetQueryHandler(SqlApplicationDbContext context) : base(context) { }
public EfHashtagGetQueryHandler(SqlApplicationDbContext context) : base(context) { }