EF方便的添加一条信息...

 

//刚开始通过EF添加数据都是这样的...↓
var db = new DBEntities()
T_User t_userinfo = new T_User()
{
Type = "type1",
AliasName = "alisaname1",
Description = "description..."
};
db.T_UserGroup.Add(t_userinfo);
db.SaveChanges();
//这个表有几个字段就要需要一个个的赋值...
//如果字段太多代码也会相应增加...开发速度也慢..
//想封装起来直接调用就好了

 

//封装的方法...        
public static TEntity setNewTEntityValue<TEntity>(Dictionary<string, Object> userInfoDic) where TEntity : class
        {
            var entity = Activator.CreateInstance<TEntity>();
            int tempInt = 0;
            DateTime tempDateTime = DateTime.Now;
            foreach (var pro in entity.GetType().GetProperties())
            {
                //如果传来的参数中有 全部属性中的值,则开始赋值...
                //目的主要还是判断传来要更新的有哪些参数...
                if (userInfoDic.ContainsKey(pro.Name))
                {
                    switch (pro.PropertyType.Name.ToLower())
                    {
                        case "int32":
                            //pro.SetValue(entity, userInfoDic[pro.Name].ToString());//测试代码...
                            int.TryParse(userInfoDic[pro.Name].ToString(), out tempInt);
                            pro.SetValue(entity, tempInt);
                            break;
                        case "string":
                            pro.SetValue(entity, userInfoDic[pro.Name].ToString());
                            break;
                        case "datetime":
                            //tempDateTime = DateTime.ParseExact(key.Value.ToString(), "", System.Globalization.CultureInfo.InvariantCulture);
                            pro.SetValue(entity, tempDateTime);
                            break;
                        default:
                            pro.SetValue(entity, userInfoDic[pro.Name].ToString());
                            break;
                    }
                }
            }
            return entity;
        }

 

 

//调用方法

                    Dictionary<string, object> dic = new Dictionary<string, object>();
                    dic.Add("Type", "type1");
                    dic.Add("AliasName", "alisaname1");
                    dic.Add("Description", "description...");//我这里是添加的测试数据,本来的数据是web端传过来json,我解析出来的就和dic是一样的字典表
                    T_User info = CommonService.setNewTEntityValue<T_User>(dic);
                    db.T_UserGroup.Add(info);
                    db.SaveChanges();

 

 

记录点滴...^_^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值