Disconnect Entity in EF4

本文介绍了使用ADO.NET实体框架进行数据库操作的多种方法,包括如何在ObjectContext外部更新数据、应用当前值及原始值,以及跨WCF服务时的数据序列化和反序列化等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1. Cross two ObjectContext : attach + changeObjectState

ProductCategory product;
            using(AdventureWorksEntities ent=new AdventureWorksEntities())
            {
                product = ent.ProductCategories.FirstOrDefault();
                product.Name += "123";

            }

            using (AdventureWorksEntities ent = new AdventureWorksEntities())
            {
                ent.ProductCategories.Attach(product);
                ent.ObjectStateManager.ChangeObjectState(product, EntityState.Modified);
                ent.SaveChanges();

            }


2. Update outside of ObjectContext: ApplyCurrentValue

ProductCategory newProduct=new ProductCategory()
                                           {
                                               Name = "Bikes1234",
                                               ProductCategoryID = 1,
                                               ModifiedDate = DateTime.Now
                                           };
            using(AdventureWorksEntities ent=new AdventureWorksEntities())
            {
                var product = ent.ProductCategories.FirstOrDefault();
                ent.ProductCategories.ApplyCurrentValues(newProduct);
                ent.SaveChanges();

            }

3. ApplyOrginalValue


4.Cross WCF service (serialization and de-serialization): self tracking + ApplyChanges


5.WCF Data Service: AttachedTo


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值