MVC 绑定数据

2 篇文章 0 订阅

PS:公司用了多个数据库,所以在DAL 里写了个父类,写方法的类都继承这个父类

       父类中预先写了定义了各数据库的绑定方法,eg:
public class DBUtility
    {
        protected static SqlConnection GetMainDb()
        {
            return GetSqlConnection("MainDb");
        }

        protected static SqlConnection GetLogDb()
        {
            return GetSqlConnection("LogDb");
        }
        protected static SqlConnection GetActivityDb()
        {
            return GetSqlConnection("ActivityDb");
        }
     }

1.绑定多个数据 (DAL返回list<>,最后返回的是一个列表,Json格式的

活动订单
        public static Tuple<int, List<P_Invite_PolicyActiveOrder>> GetActiveOrderList(int pageStart, int pageLength, string ActiveName = "", string policyNo = "",
            string inviteCode = "", DateTime? beginTime = null, DateTime? endTime = null, int inviteId = 0)
        {
            string where = string.Empty;
            if (ActiveName != "")
            {
                // where += " AND ActiveId IN(	SELECT Id FROM PolicyActive AS pa WHERE pa.Title LIKE '%" + ActiveName + "%')";
                where += " AND productName like'%" + ActiveName + "%'";
            }
            if (policyNo != "")
                where += " AND [policyNo]=@policyNo";
            if (string.IsNullOrEmpty(inviteCode) == false)
                where += " AND [InviteCode]=@InviteCode";
            if (beginTime.HasValue)
            {
                where += " AND  CreateDate >= '" + beginTime.Value.ToString("yyyy-MM-dd") + "'";
            }
            if (endTime.HasValue)
            {
                where += " AND  CreateDate <= '" + endTime.Value.AddDays(1).ToString("yyyy-MM-dd") + "'";
            }
            string sql = string.Format(@"
WITH _a AS
(
	SELECT *,ROW_NUMBER() OVER(ORDER BY [Id] DESC) AS RowId FROM [P_Invite_PolicyActiveOrder] pa WHERE 1=1 {0}
)
SELECT * FROM _a WHERE RowId BETWEEN @b AND @e;
SELECT COUNT(1) FROM [P_Invite_PolicyActiveOrder] WHERE 1=1 {0}", where);

            using (SqlConnection conn = GetSqlConnection())
            {
                using (var mulit = conn.QueryMultiple(sql, new { b = pageStart, e = pageStart + pageLength, policyNo = policyNo, InviteCode = inviteCode }))
                {
                    List<P_Invite_PolicyActiveOrder> list = mulit.Read<P_Invite_PolicyActiveOrder>().ToList();
                    int records = mulit.Read<int>().FirstOrDefault();

                    return new Tuple<int, List<P_Invite_PolicyActiveOrder>>(records, list);
                }
            }
        }

Tuple<int, List<P_Invite_PolicyActiveOrder>>

2.绑定单个数据()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值