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();
复制代码

 

 

记录点滴...^_^

posted @   zh89233  阅读(511)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示