Как вставить связанные данные используя Dapper?
У меня есть две таблицы категория и ключевые слова для этой категории
CREATE TABLE category
(
Id INT PRIMARY KEY NOT NULL auto_increment,
Name varchar(255) NOT NULL,
Priority INT NOT NULL
);
CREATE TABLE keyword
(
Id INT PRIMARY KEY NOT NULL auto_increment,
CategoryId INT,
Value varchar(255) NOT NULL,
foreign key(CategoryId) references category(Id)
);
И мне нужно вставить необходимую категорию с ключевыми словами. Как это сделать? При чём я хочу добавлять ключевые слова сразу коллекцией за один запрос
Написал следующий код, но он не отрабатывает
string sql = @"INSERT INTO category
(
Id,
Name,
Priority
)
VALUES
(
@Id,
@Name,
@Priority
)
INSERT INTO keyword
(
Id,
CategoryId,
`Value`
)
VALUES
(
@Keywords.Id,
@Keywords.CategoryId,
@Keywords.Value
)";
Connection.Execute(sql, new
{
Id = commandContext.Category.Id,
Name = commandContext.Category.Name,
Priority = commandContext.Category.Priority,
Keywords = commandContext.Category.Keywords.Select(x => new
{
Id = x.Id,
CategoryId = commandContext.Category.Id,
Value = x.Value
})
});
Используемая бд -- Mysql