首页 新闻 会员 周边 捐助

EF 如何实现这种动态修改数据?

0
悬赏园豆:5 [待解决问题]

前台传入  表名、字段、id、字段对应的值

 

我是用EF 框架 的。

 

如果何实现修改(前台传入)某个表的某条记录的某个字段的值?

wunaigong的主页 wunaigong | 初学一级 | 园豆:4
提问于:2013-08-28 20:20
< >
分享
所有回答(5)
0

多key,单值更新。我抄别人的,网上有这么一个类文件。       
public static Boolean UpdateField<TEntity>(Dictionary<string, Object> keys, String field, Object value) where TEntity : class         {

            var entity = Activator.CreateInstance<TEntity>();

            foreach (var pro in entity.GetType().GetProperties())

            {

                foreach (var key in keys)

                {

                    if (pro.Name.Equals(key.Key))

                    {

                        pro.SetValue(entity, key.Value, null);

                    }

                }

                if (pro.Name.Equals(field))

                {

                    pro.SetValue(entity, value, null);

                }

            }

            return entity.UpdateField(field);

        }

kylin.chen | 园豆:983 (小虾三级) | 2013-08-28 20:58
0

直接换SqlHelper,动态拼接算了~

幻天芒 | 园豆:37205 (高人七级) | 2013-08-28 21:17

用ORM框架就是为了简单,可测试。

为了追求一些小的功能,你要人家回到从前^_^

支持(0) 反对(0) kylin.chen | 园豆:983 (小虾三级) | 2013-08-28 21:19

@kylin.chen: 哈哈~~既然它要这么实现,估计就是要大批量用,那么EF的优势就用不上,所以...⊙﹏⊙b汗

支持(0) 反对(0) 幻天芒 | 园豆:37205 (高人七级) | 2013-08-28 21:29
0

用EF取出这条记录(实体),然后给该字段赋值,然后 SaveChanges(); 就搞定。

如果知道记录的主键,可以不去数据库中取出记录,参考博文:

博客园现代化建设—准备用Entity Framework实现数据的按需更新

dudu | 园豆:30948 (高人七级) | 2013-08-29 10:14
0

我的博客中有相关知识的介绍,你可以去看一下!希望对你有用~

jerry-Tom | 园豆:4077 (老鸟四级) | 2013-08-29 10:17
0

用EFtool 生成实体类和映射后,你用向导创建entity framework控制器的时候就会有CRUD界面的。你可以看看那个怎么写。

Cherbim | 园豆:323 (菜鸟二级) | 2013-11-03 20:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册