go的orm框架ent, 怎么快速设置实体值?

比如订单表,非常复杂有几百个字段那种, 不会也像官网示例那样一个个set吧?

阅读 2.5k
1 个回答

用Struct:

type OrderPayload struct {
    Field1 string
    Field2 int
    // ...
}

func CreateOrder(client *ent.Client, payload *OrderPayload) (*ent.Order, error) {
    order, err := client.Order.
        Create().
        SetField1(payload.Field1).
        SetField2(payload.Field2).
        // ...
        Save(context.Background())
    return order, err
}

或者用Bulk API:

orders := []*ent.OrderCreate{
    client.Order.Create().SetField1(value1).SetField2(value2), // ...
    // ...
}

_, err := client.Order.
    CreateBulk(orders...).
    Save(context.Background())
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题