EF 只更新部分字段

 /// 只更新storedAddress数据中的DefaultAddress字段,更新为false
         /// 将默认地址改为不是默认地址
          /// </summary>
          /// <param name="id">需要修改的对象的id</param>
          public void Update(int id)
          {
              StoredAddress s = new StoredAddress { StoredAddressID = id };
             object originalItem = null;
             System.Data.EntityKey key = _context.CreateEntityKey("StoredAddresses", s);
             if (_context.TryGetObjectByKey(key, out originalItem))
             {
                 _context.Detach(originalItem);
             }
              s.DefaultAddress = true;
              _context.StoredAddresses.Attach(s);
              s.DefaultAddress = false;
              _context.SaveChanges();
              _context.Detach(s);
         }
时间: 2024-08-01 09:08:03

EF 只更新部分字段的相关文章

hibernate update 只更新部分字段的3种方法(其实我只想说第二种)

hibernate 中如果直接使用Session.update(Object o);会把这个表中的所有字段更新一遍. 比如: public class Teacher Test { @Test public void update(){ Session session = HibernateUitl.getSessionFactory().getCurrentSession(); session.beginTransaction(); Teacher t = (Teacher) session.

Hibernate更新部分字段浅谈

update语句是在Hibernate的Configuration的时候生成的,不能动态改变.为什么update的时候所有的属性都一起update,而不是只更新改变字段,其实这是一个比较值得探讨的问题. 如果想要做到只更新改变了的字段,必须做到两点:1.对PO的每个属性设置version进行状态跟踪2.update语句是动态生成的,在实际向数据库更新的时候,依次检查每个属性的version,决定哪些属性需要更新,动态构造update语句. 单单要做到上述第一点,就势必要给PO的操作带来沉重的负担

EF更新指定字段...

EF更新指定的字段... 搜来搜去发现没有自己想要的啊... 或许本来就有更好的办法来实现我这个,所以没有人来搞吧... 如果有,请不吝告知..GG.. //要更改UserInfo表中指定的列,比如这个表有15列,如果很多列都要更新,就要判断要更新哪个不要更新哪个.. //现在这样就是传过来多少列,循环更新下就可以了 public string UserInfo_Update_Test(string jsonParames) { jsonParames = "一个json串";//比如

关于EF更新数据库,更新指定字段的设置

1.关于EF跟新数据库更新指定字段的设置 在EF提交到数据库的时候或许某些字段不想更新.或者自己更新一个模型到数据库去! 1.更新数据不更新一些字段 /// <summary> /// 数据库指定更新字段 /// </summary> [HttpGet] public HttpResponseMessage alterUserInfo(int id) { //先查询 后修改 var user = DbContent.k_user.Where(o => o.id == id).

Hibernate更新某些字段的几种update方法

Hibernate 中如果直接使用 Session.update(Object o); 会把这个表中的所有字段更新一遍. 比如: [java] view plaincopy public class TeacherTest { @Test public void update(){ Session session =  HibernateUitl.getSessionFactory().getCurrentSession(); session.beginTransaction(); Teache

Hibernate 更新部分字段的实现

在Hibernate 中,有时我们只需要更新部分字段,此时如果使用update()方法,会将所有字段都更新,对于没有set的字段,就会设置成NULL,如果这些字段里面有非空的字段就会报错. 解决的方法可以直接写HQL语句,但是如果字段较多,并且更新的字段是不确定的时候,直接写HQL语句就显得比较麻烦. 另一种方法是在XML文件中设置dynamic-update="true",这样设置以后,只对set了的字段更新,没有set的字段就不会更新. <class name="c

ElasticSearh更新nested字段(Array数组)。怎么根据查询条件(query)复制一个(index)到新的Index how to update by query a nested fields data for elasticsearch

GET usernested/_search { "query": { "nested": { "path": "tags", "query": { "bool": { "must": [ { "term": { "tags.brandid": "93a8296c-5b64-49ea-bd92-b19192def2e9

Yum只更新安全补丁的方法

当大家想只给centos系统更新补丁的时候,往往会把其他一些无用的组件给更新下来,现在就给大家说下怎么只更新补丁而又不更新其他组件. 1.安装yum插件即可: yum install yum-security 2.检查安全更新 yum --security check-update 3.只安装安全更新 yum update --security 4.检查特定软件有无安全更新 yum list-security software_name 5.列出更新的详细信息 yum info-security

mysql 更新一个字段(在他的后面添加字符串)

mysql 更新一个字段(在他的后面添加字符串) 更新一个字段,在它的后面加一个字符串,不查询数据库得到这个字段值 怎么添加?? 例如: 我的test表,有个user字段,我现在想在它后面加了另一个用户的名字 我在mysql数据库这样写 UPDATE test SET user= user+ ',phpchina'  WHERE id= '2'; 这样是不对的,mysql数据库把它当成数字相加了,user字段值变成0了. 应该: UPDATE test SET user= CONCAT(user