FreeSql 多条语句新增
时间: 2023-07-06 19:43:34 浏览: 34
在 FreeSql 中,可以通过以下方式实现多条语句的新增:
```csharp
using (var dbContext = g.sqlserverDb) {
var affrows = dbContext.Transaction(() => {
var affrows1 = dbContext.Insert<TbTag>()
.AppendData(new[] {
new TbTag { Name = "tag1" },
new TbTag { Name = "tag2" },
new TbTag { Name = "tag3" }
}).ExecuteAffrows();
var affrows2 = dbContext.Insert<TbArticle>()
.AppendData(new[] {
new TbArticle { Title = "title1", Content = "content1", Tags = new[] { new TbTag { Id = 1 } } },
new TbArticle { Title = "title2", Content = "content2", Tags = new[] { new TbTag { Id = 2 } } },
new TbArticle { Title = "title3", Content = "content3", Tags = new[] { new TbTag { Id = 3 } } }
}).ExecuteAffrows();
return affrows1 + affrows2;
});
}
```
在上述代码中,我们首先通过 `Transaction` 方法开启了一个事务,然后在事务中分别执行了两条 `Insert` 语句,一条是新增 `TbTag` 表的数据,另一条是新增 `TbArticle` 表的数据。其中,每个 `TbArticle` 的 `Tags` 属性是一个 `TbTag` 数组,用于关联 `TbArticle` 和 `TbTag` 表。最后,我们通过 `ExecuteAffrows` 方法获取执行结果,将两次执行结果相加返回。