U8 13.0以前版本推荐使用的类似orm框架工具cyq

因为13.0之前使用的.net都是3.5  sqlsugar不支持所以在网上搜索找到了这个工具cyq.data 比直接使用sqlhelper要方便所以在此推荐一下

1.使用方法下载cyq 引用dll  (已经开源地址如下:http://t.csdnimg.cn/AmPCP)

2.

3.使用方法关键点

  public static void SetCyqConn(int CommandTimeout, string DefaultConn)
        {
            AppConfig.Cache.IsAutoCache = false; //设置不需要缓存 否则会存在后端sql直接执行删除修改数据后前端查询条件不变的情况下数据没有发生变化
            AppConfig.DB.CommandTimeout = CommandTimeout;//数据库链接超时时间
            AppConfig.DB.DefaultConn = DefaultConn;//数据库链接地址
            AppConfig.DB.EditTimeFields = "ModifyTime";//修改表的时候自动更新这个字段,不存在该字段的表不会更新不会报错
        }

使用方法如下:

  using (MAction action = new MAction("表名"))
                            {
                                table = action.Select("1=2");
                                table_Delete = action.Select("1=2");
                                foreach (DataRow dr in mainTable.Rows)
                                {
                                    if (dr.RowState == DataRowState.Added || dr.RowState == DataRowState.Detached || dr.RowState == DataRowState.Modified)
                                    {
                                        if (string.IsNullOrEmpty(dr["Did"] + ""))
                                        {
                                            row = table.NewRow();
                                            row.Set("Id", model["id"]);
                                            row.Set("cValue", dr["cValue"]);
                                            table.Rows.Add(row);
                                        }
                                        else
                                        {
                                            row = table.NewRow();
                                            row.Set("Did", dr["Did"]);
                                            row.Set("cValue", dr["cValue"]);
                                            table.Rows.Add(row);
                                        }
                                    }

                                    if (dr.RowState == DataRowState.Deleted)
                                    {
                                        if (!string.IsNullOrEmpty(dr["Did", DataRowVersion.Original] + ""))
                                        {
                                            row = table_Delete.NewRow();
                                            row.Set("Did", dr["Did", DataRowVersion.Original]);
                                            table_Delete.Rows.Add(row);
                                        }
                                    }
                                }

                                if (table != null) table.AcceptChanges(AcceptOp.Auto);
                                if (table_Delete != null) table_Delete.AcceptChanges(AcceptOp.Delete);

                                dgvMain.DataSource = action.Select($@"id={model["id"]}").ToDataTable();
                                //action.Select().Bind(dgvMain);
                            }

示例2:

  using (MAction action = new MAction("表名"))
            {
                DataTable result = action.Select(1, $@"id={_id}  order by IndexNum desc").ToDataTable();
                if (result.Rows.Count > 0)
                {
                    _billDate = result.Rows[0]["EndTime"] + "";
                    _indexNum = int.Parse(result.Rows[0]["IndexNum"] + "");
                }

                action.Data.Set("Id", _id);              

                if (action.Insert())
                {
                    long headid = action.Get<long>("Did");//取回插入后的主键ID          
                    action.ResetTable("表名");
                    action.Set("id", _id);
                    action.Set("ProcessStatus", cbbProcessStatus.Text);
                    action.Update(_id);

                    if (action.Fill(_id))
                    {
                        _ProjectJournalNo = action.Data["ProjectJournalNo"].Value + "";
                    }

                    action.ResetTable("表名");

                    foreach (DataRow row in personTable.Rows)
                    {
                        action.Data.Set("Id", headid);
                        action.Data.Set("PersonCode", row["PersonCode"]);
                        action.Data.Set("PersonName", row["PersonName"]);
                        action.Insert();                    

                    }


                }

示例3:带事务

 using (MAction action = new MAction("表名"))
           {

    action.SetTransLevel(IsolationLevel.ReadCommitted);//可设置的事务级别,一般可以不用设置
                    action.BeginTransation();//设置开启事务标识

  if (!action.Insert()) { action.RollBack(); return; }

  • 21
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值