/// <summary>
        /// 根据模型插入
        /// </summary>
        /// <param name="model">模型</param>
        /// <param name="connection">连接</param>
        /// <param name="transaction">事务</param>
        /// <returns>是否成功</returns>
        public int InsertReturnKey(Receive_Materials model, IDbConnection connection = null, IDbTransaction transaction = null)
        {
            var insert = new LambdaInsert <Receive_Materials>();

            if (!model.receiveId.IsNullOrEmpty())
            {
                insert.Insert(p => p.receiveId == model.receiveId);
            }
            if (!model.raw_materialsId.IsNullOrEmpty())
            {
                insert.Insert(p => p.raw_materialsId == model.raw_materialsId);
            }
            if (!model.BaseCount.IsNullOrEmpty())
            {
                insert.Insert(p => p.BaseCount == model.BaseCount);
            }
            if (!model.additionalCount.IsNullOrEmpty())
            {
                insert.Insert(p => p.additionalCount == model.additionalCount);
            }
            if (!model.SKU.IsNullOrEmpty())
            {
                insert.Insert(p => p.SKU == model.SKU);
            }
            if (!model.Isadditional.IsNullOrEmpty())
            {
                insert.Insert(p => p.Isadditional == model.Isadditional);
            }
            return(insert.GetInsertResult(connection, transaction));
        }
        /// <summary>
        /// 根据模型更新
        /// </summary>
        /// <param name="model">模型</param>
        /// <param name="connection">连接</param>
        /// <param name="transaction">事务</param>
        /// <returns>是否成功</returns>
        public bool Update(Receive_Materials model, IDbConnection connection = null, IDbTransaction transaction = null)
        {
            var update = new LambdaUpdate <Receive_Materials>();

            if (!model.Id.IsNullOrEmpty())
            {
                update.Where(p => p.Id == model.Id);
            }
            if (!model.receiveId.IsNullOrEmpty())
            {
                update.Set(p => p.receiveId == model.receiveId);
            }
            if (!model.raw_materialsId.IsNullOrEmpty())
            {
                update.Set(p => p.raw_materialsId == model.raw_materialsId);
            }
            if (!model.BaseCount.IsNullOrEmpty())
            {
                update.Set(p => p.BaseCount == model.BaseCount);
            }
            if (!model.additionalCount.IsNullOrEmpty())
            {
                update.Set(p => p.additionalCount == model.additionalCount);
            }
            if (!model.SKU.IsNullOrEmpty())
            {
                update.Set(p => p.SKU == model.SKU);
            }
            if (!model.Isadditional.IsNullOrEmpty())
            {
                update.Set(p => p.Isadditional == model.Isadditional);
            }
            return(update.GetUpdateResult(connection, transaction));
        }
        /// <summary>
        /// 根据模型删除数据
        /// </summary>
        /// <param name="model">模型</param>
        /// <param name="connection">连接</param>
        /// <param name="transaction">事务</param>
        /// <returns>是否成功</returns>
        public bool DeleteModel(Receive_Materials model = null, IDbConnection connection = null, IDbTransaction transaction = null)
        {
            var delete = new LambdaDelete <Receive_Materials>();

            if (model != null)
            {
                if (!model.Id.IsNullOrEmpty())
                {
                    delete.Where(p => p.Id == model.Id);
                }
                if (!model.receiveId.IsNullOrEmpty())
                {
                    delete.Where(p => p.receiveId == model.receiveId);
                }
                if (!model.raw_materialsId.IsNullOrEmpty())
                {
                    delete.Where(p => p.raw_materialsId == model.raw_materialsId);
                }
                if (!model.BaseCount.IsNullOrEmpty())
                {
                    delete.Where(p => p.BaseCount == model.BaseCount);
                }
                if (!model.additionalCount.IsNullOrEmpty())
                {
                    delete.Where(p => p.additionalCount == model.additionalCount);
                }
                if (!model.SKU.IsNullOrEmpty())
                {
                    delete.Where(p => p.SKU == model.SKU);
                }
                if (!model.Isadditional.IsNullOrEmpty())
                {
                    delete.Where(p => p.Isadditional == model.Isadditional);
                }
            }
            return(delete.GetDeleteResult(connection, transaction));
        }
        /// <summary>
        /// 数据条数
        /// </summary>
        /// <param name="model">模型</param>
        /// <param name="connection">连接</param>
        /// <param name="transaction">事务</param>
        /// <returns>对象列表</returns>
        public int SelectCount(Receive_Materials model = null, IDbConnection connection = null, IDbTransaction transaction = null)
        {
            var query = new LambdaQuery <Receive_Materials>();

            if (model != null)
            {
                if (!model.Id.IsNullOrEmpty())
                {
                    query.Where(p => p.Id == model.Id);
                }
                if (!model.receiveId.IsNullOrEmpty())
                {
                    query.Where(p => p.receiveId == model.receiveId);
                }
                if (!model.raw_materialsId.IsNullOrEmpty())
                {
                    query.Where(p => p.raw_materialsId == model.raw_materialsId);
                }
                if (!model.BaseCount.IsNullOrEmpty())
                {
                    query.Where(p => p.BaseCount == model.BaseCount);
                }
                if (!model.additionalCount.IsNullOrEmpty())
                {
                    query.Where(p => p.additionalCount == model.additionalCount);
                }
                if (!model.SKU.IsNullOrEmpty())
                {
                    query.Where(p => p.SKU == model.SKU);
                }
                if (!model.Isadditional.IsNullOrEmpty())
                {
                    query.Where(p => p.Isadditional == model.Isadditional);
                }
            }
            return(query.GetQueryCount(connection, transaction));
        }
        /// <summary>
        /// 根据分页筛选数据
        /// </summary>
        /// <param name="Key">主键</param>
        /// <param name="start">开始数据</param>
        /// <param name="PageSize">页面长度</param>
        /// <param name="desc">排序</param>
        /// <param name="model">对象</param>
        /// <param name="connection">连接</param>
        /// <param name="transaction">事务</param>
        /// <returns>对象列表</returns>
        public List <Receive_Materials> SelectByPage(string Key, int start, int PageSize, bool desc = true, Receive_Materials model = null, string SelectFiled = null, IDbConnection connection = null, IDbTransaction transaction = null)
        {
            var query = new LambdaQuery <Receive_Materials>();

            if (model != null)
            {
                if (!model.Id.IsNullOrEmpty())
                {
                    query.Where(p => p.Id == model.Id);
                }
                if (!model.receiveId.IsNullOrEmpty())
                {
                    query.Where(p => p.receiveId == model.receiveId);
                }
                if (!model.raw_materialsId.IsNullOrEmpty())
                {
                    query.Where(p => p.raw_materialsId == model.raw_materialsId);
                }
                if (!model.BaseCount.IsNullOrEmpty())
                {
                    query.Where(p => p.BaseCount == model.BaseCount);
                }
                if (!model.additionalCount.IsNullOrEmpty())
                {
                    query.Where(p => p.additionalCount == model.additionalCount);
                }
                if (!model.SKU.IsNullOrEmpty())
                {
                    query.Where(p => p.SKU == model.SKU);
                }
                if (!model.Isadditional.IsNullOrEmpty())
                {
                    query.Where(p => p.Isadditional == model.Isadditional);
                }
            }
            if (SelectFiled != null)
            {
                SelectFiled = SelectFiled.ToLowerInvariant();
                if (SelectFiled.Contains("id,"))
                {
                    query.Select(p => new { p.Id });
                }
                if (SelectFiled.Contains("receiveid,"))
                {
                    query.Select(p => new { p.receiveId });
                }
                if (SelectFiled.Contains("raw_materialsid,"))
                {
                    query.Select(p => new { p.raw_materialsId });
                }
                if (SelectFiled.Contains("basecount,"))
                {
                    query.Select(p => new { p.BaseCount });
                }
                if (SelectFiled.Contains("additionalcount,"))
                {
                    query.Select(p => new { p.additionalCount });
                }
                if (SelectFiled.Contains("sku,"))
                {
                    query.Select(p => new { p.SKU });
                }
                if (SelectFiled.Contains("isadditional,"))
                {
                    query.Select(p => new { p.Isadditional });
                }
            }
            if (Key != null)
            {
                query.OrderByKey(Key, desc);
            }
            return(query.GetQueryPageList(start, PageSize, connection, transaction));
        }
        /// <summary>
        /// 筛选全部数据
        /// </summary>
        /// <param name="model">模型</param>
        /// <param name="connection">连接</param>
        /// <param name="transaction">事务</param>
        /// <returns>对象列表</returns>
        public List <Receive_Materials> SelectAll(Receive_Materials model = null, string SelectFiled = null, IDbConnection connection = null, IDbTransaction transaction = null)
        {
            var query = new LambdaQuery <Receive_Materials>();

            if (model != null)
            {
                if (!model.Id.IsNullOrEmpty())
                {
                    query.Where(p => p.Id == model.Id);
                }
                if (!model.receiveId.IsNullOrEmpty())
                {
                    query.Where(p => p.receiveId == model.receiveId);
                }
                if (!model.raw_materialsId.IsNullOrEmpty())
                {
                    query.Where(p => p.raw_materialsId == model.raw_materialsId);
                }
                if (!model.BaseCount.IsNullOrEmpty())
                {
                    query.Where(p => p.BaseCount == model.BaseCount);
                }
                if (!model.additionalCount.IsNullOrEmpty())
                {
                    query.Where(p => p.additionalCount == model.additionalCount);
                }
                if (!model.SKU.IsNullOrEmpty())
                {
                    query.Where(p => p.SKU == model.SKU);
                }
                if (!model.Isadditional.IsNullOrEmpty())
                {
                    query.Where(p => p.Isadditional == model.Isadditional);
                }
            }
            if (SelectFiled != null)
            {
                SelectFiled = SelectFiled.ToLowerInvariant();
                if (SelectFiled.Contains("id,"))
                {
                    query.Select(p => new { p.Id });
                }
                if (SelectFiled.Contains("receiveid,"))
                {
                    query.Select(p => new { p.receiveId });
                }
                if (SelectFiled.Contains("raw_materialsid,"))
                {
                    query.Select(p => new { p.raw_materialsId });
                }
                if (SelectFiled.Contains("basecount,"))
                {
                    query.Select(p => new { p.BaseCount });
                }
                if (SelectFiled.Contains("additionalcount,"))
                {
                    query.Select(p => new { p.additionalCount });
                }
                if (SelectFiled.Contains("sku,"))
                {
                    query.Select(p => new { p.SKU });
                }
                if (SelectFiled.Contains("isadditional,"))
                {
                    query.Select(p => new { p.Isadditional });
                }
            }
            return(query.GetQueryList(connection, transaction));
        }
 /// <summary>
 /// 筛选全部数据
 /// </summary>
 /// <param name="model">模型</param>
 /// <returns>对象列表</returns>
 public List <Receive_Materials> SelectByModel(Receive_Materials model)
 {
     return(Receive_MaterialsOper.Instance.SelectAll(model));
 }
 /// <summary>
 /// 数据条数
 /// </summary>
 /// <param name="model">模型</param>
 /// <returns>对象列表</returns>
 public int SelectCount(Receive_Materials model)
 {
     return(Receive_MaterialsOper.Instance.SelectCount(model));
 }
 /// <summary>
 /// 根据模型插入
 /// </summary>
 /// <param name="model">模型</param>
 /// <returns>是否成功</returns>
 public int InsertReturnKey(Receive_Materials model)
 {
     return(Receive_MaterialsOper.Instance.InsertReturnKey(model));
 }
 /// <summary>
 /// 根据模型插入
 /// </summary>
 /// <param name="model">模型</param>
 /// <returns>是否成功</returns>
 public bool Insert(Receive_Materials model)
 {
     return(Receive_MaterialsOper.Instance.Insert(model));
 }
 /// <summary>
 /// 根据模型更新
 /// </summary>
 /// <param name="model">模型</param>
 /// <returns>是否成功</returns>
 public bool Update(Receive_Materials model)
 {
     return(Receive_MaterialsOper.Instance.Update(model));
 }
 /// <summary>
 /// 根据模型删除数据
 /// </summary>
 /// <param name="model">模型</param>
 /// <returns>是否成功</returns>
 public bool DeleteModel(Receive_Materials model)
 {
     return(Receive_MaterialsOper.Instance.DeleteModel(model));
 }
 /// <summary>
 /// 根据分页筛选数据
 /// </summary>
 /// <param name="Key">主键</param>
 /// <param name="start">开始数据</param>
 /// <param name="PageSize">页面长度</param>
 /// <param name="desc">排序</param>
 /// <param name="model">对象</param>
 /// <returns>对象列表</returns>
 public List <Receive_Materials> SelectByPage(string Key, int start, int PageSize, bool desc, Receive_Materials model, string SelectFiled)
 {
     return(Receive_MaterialsOper.Instance.SelectByPage(Key, start, PageSize, desc, model));
 }