首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏老马寒门IT

    Entity Framework快速入门--直接修改(简要介绍ObjectContext处理机制)

    在介绍Entity Framework的修改实体到数据库的方法之前呢,我们先简要的介绍一下ObjectContext的处理机制。 1、ObjectContext的处理机制 ObjectContext是Entity Framework封装了数据库访问的上下文,以及实体的映射关系元数据信息等。EF帮我们封装好了这么一个统一的接口。 总结: EF是通过针对开发人员对实体做的修改,直接维护ObjectContext的实例中的实体操作集合并对单个实体对应的状态进行修改。 所以,我们在对应多个ObjectContext实例进行操作时要注意,调用实例自己的SaveChanges()方法时,它只会对自己实例内存空间的操作映射回数据库,而其他ObjectContext实例中的实体集合的修改都不受影响 不推荐方式一: 思路:先从ObjectContext取出实体,然后将前台传过来的DTO属性对应赋值到我们的实体上,然后调用ObjectContext的保证修改方法。

    1.2K30编辑于 2022-05-10
  • 来自专栏老马寒门IT

    Entity Framework快速入门

    如下图所示的EDMX的定义: EF中操作数据库的网关 ObjectContext封装 .NET Framework 和数据库之间的连接。此类用作“创建”、“读取”、“更新”和“删除”操作的网关。 ObjectContext 类为主类,用于与作为对象(这些对象为 EDM 中定义的实体类型的实例)的数据进行交互。 它封装了EF 到数据库的连接,封装了表对应的实体的集合,所以我们所有的操作都应该是针对于ObjectContext下的实体集合,修改实体集合后,通过调用ObjectContext的SaveChange方法将对实体集合的操作映射回数据库 当然ObjectContext通过我们上面EDMX的定义,也就是表、实体的关系的xml定义,通过集合的变化,生成对应的sql,并调用Ado.Net来实现对数据库的操作。

    86220编辑于 2022-05-10
  • 来自专栏张善友的专栏

    自定义Unity对象生命周期管理集成ADO.NET Entity Framework

    ObjectContext本身是有缓存的,整个Request内都是一个ObjectContextObjectContext一级缓存能力进一步利用。 下面我们来实现Unity集成ADO.NET Entity Framework的工作: 1、利用Unity的依赖注入,ObjectContext会给我们生成3个构造函数,类似于下面的代码: // Original     ///     public partial class AdventureWorksLTEntities : global::System.Data.Objects.ObjectContext ObjectContext有多个构造函数,而且ObjectContext的构造函数代码是Visual Studio 代码生成的,最好的选择是使用配置文件或者使用配置API指定注入时使用的构造函数。 使用RequestControlledLifetimeManager实现ObjectContext的生命周期管理。

    1.2K80发布于 2018-01-30
  • 来自专栏EdisonTalk

    轻量级ORM框架初探-Dapper与PetaPoco的基本使用

    WarmupEntityFramework() { // EF暖机操作 using (var db = new MyAppDBContext()) { var objectContext = ((IObjectContextAdapter)db).ObjectContext; var mappingCollection = (System.Data.Entity.Core.Mapping.StorageMappingItemCollection )objectContext.MetadataWorkspace.GetItemCollection(System.Data.Entity.Core.Metadata.Edm.DataSpace.CSSpace // EF暖机操作 using (var db = new MyAppDBContext()) { var objectContext )objectContext.MetadataWorkspace.GetItemCollection(System.Data.Entity.Core.Metadata.Edm.DataSpace.CSSpace

    2.3K30发布于 2018-08-20
  • 来自专栏水击三千

    Silverlight学习(三)

    9 public IQueryable<userinfo> GetUserinfo() 10 { 11 return this.ObjectContext.userinfo = EntityState.Detached)) 17 { 18 this.ObjectContext.ObjectStateManager.ChangeObjectState = EntityState.Detached)) 37 { 38 this.ObjectContext.ObjectStateManager.ChangeObjectState EntityState.Deleted); 39 } 40 else 41 { 42 this.ObjectContext.userinfo.Attach (userinfo); 43 this.ObjectContext.userinfo.DeleteObject(userinfo); 44 } 45

    1.1K80发布于 2018-02-27
  • 来自专栏liulun

    ASP六大内建对象

    ObjectContext 对象 可以使用 ObjectContext 对象提交或撤消由 ASP 脚本初始化的事务。

    77810编辑于 2022-05-08
  • 来自专栏跟着阿笨一起玩NET

    EF实体中的修改

    不推荐方式一: 思路:先从ObjectContext取出实体,然后将前台传过来的DTO属性对应赋值到我们的实体上,然后调用ObjectContext的保证修改方法。 因为我们知道EF通过ObjectStateManage来控制添加、修改、删除队列以及实体的状态,我们所有可以通过在直接将DTO转化成实体,然后将实体对应的队列中,并 且我们手动的将实体的状态处理好,再调用ObjectContext

    1.6K10发布于 2018-09-19
  • 来自专栏老马寒门IT

    【原】尝试 Entity Framework POCO功能+Code First

    在实体设计窗口中,右击→属性→代码生成策略=>无  ,这一步就是去掉EF自动代码生成实体类以及EF数据访问上下文网关ObjectContext等。 代码如下: Car类 代码如下: 第五步:定义自己的数据库访问实体上下文 ObjectContext【它是封装了访问数据库的网管,所有的增删查改都通过此接口对数据库进行操作】 添加一个自定义类要继承 ObjectContext,添加实体对应的ObjectSet集合,并在默认构造函数中初始化连接等操作,只需要调用父类的构造函数即可,并在构造函数中为实体集合初始化【调用CreateObjectSet < using System.Text; using System.Data.Objects; namespace EFPoco { publicclass CompanyContext : ObjectContext

    83010编辑于 2022-05-10
  • 来自专栏一个爱瞎折腾的程序猿

    个人项目框架搭建 -- 仓储模式使用

    public string CreateDatabaseScript() { return ((IObjectContextAdapter)this).ObjectContext.CreateDatabaseScript //store previous timeout previousTimeout = ((IObjectContextAdapter)this).ObjectContext.CommandTimeout ; ((IObjectContextAdapter)this).ObjectContext.CommandTimeout = timeout; } { //Set previous timeout back ((IObjectContextAdapter)this).ObjectContext.CommandTimeout

    1.2K10发布于 2018-09-14
  • 来自专栏老马寒门IT

    Entity Framework快速入门--CodeOnly POCO

    using System.Text; using System.Data.Objects; namespace EFPoco { public class CompanyContext : ObjectContext get { return carSet; } set { carSet = value; } } } } 其实上面这段代码很简单,就是定义了一个继承ObjectContext 总结一下: 我们并没有用EF自动生成的代码,只是使用了它的模型设计器,帮我们生成CSDL/MSL/SSDL的定义文件(xml).然后我们自己写实体类的代码,以及自己写一个数据库访问的网关ObjectContext

    63720编辑于 2022-05-10
  • 来自专栏小辰的技术分享

    EntityFramework系列:MySql的RowVersion

    override int SaveChanges() { this.ChangeTracker.DetectChanges(); var objectContext = ((IObjectContextAdapter)this).ObjectContext; foreach (ObjectStateEntry entry in objectContext.ObjectStateManager.GetObjectStateEntries

    1.5K10发布于 2020-05-04
  • 来自专栏王磊的博客

    entity framework使用技巧

    1、无需先查询数据的修改方法 // 将创建的data实体添加到ObjectContext db.Data.Attach(data); // 手动设置状态为修改 db.ObjectStateManager.ChangeObjectState

    68850发布于 2018-05-08
  • 来自专栏杰的记事本

    Entity Framework(EF)数据查询

    还有就是第一次创建ObjectContext并查询数据时耗费了大量的时间。 下面这个饼状图给出了第一次创建ObjectContext并用其访问数据库时各种操作所占的时间比 从中可以看出仅仅View Generation一个操作就占用了56%的时间,不过令人欣慰的是,这个操作只出现在第一次查询的时候

    1.2K20发布于 2019-09-04
  • 来自专栏张善友的专栏

    Entity Framework 4 的 POCO学习

    这里整理一下学习过程中的注意点: 自动生成代码的功能要关掉 继承的ObjectContext的构造函数的参数其实就是指定数据库连接串Connection String 工具生成的Edmx的Connection 代码的单元测试很重要 延迟加载的属性要设置成Virtual, ObjectContext上需要设置 ContextOptions.LazyLoadingEnabled =  true 对于枚举类型的支持是通过复杂类型来实现的

    1.5K80发布于 2018-01-30
  • 来自专栏GreenLeaves

    EF基础知识小记一

    像一个类,属性分为标量属性、导航属性 标量属性:像integer,string等简单类型就是标量属性,也可以是复杂类型 导航属性:是指跟其它实体有关联的属性(数据库中的外键关系) 7、上下文对象 下文对象为ObjectContext 有趣的是,DbContext是ObjectContext的一个包装器或者外观实现者。以一种直观的、友好的、有效的方式暴露底层ObjectContext的功能。

    2.3K90发布于 2018-01-26
  • 来自专栏c#开发者

    Silverlight RIA Service开发实战总结(一)

                    int no = System.Convert.ToInt32(prefix);                 var query = from item in this.ObjectContext.PRE_EMS3 return query;             }             else             {                 var query = from item in this.ObjectContext.PRE_EMS3

    94550发布于 2018-04-12
  • 来自专栏ASP.NET MVC5 后台权限管理系统

    ASP.NET MVC5+EF6+EasyUI 后台管理系统(58)-DAL层重构

    代码生成策略 改变生成策略为T4 添加TT模版 重构DAL层 创建ICommonRepository<T>接口 实现ICommonRepository<T>方法 T4模版的使用 1.改变EF代码生成策略旧的ObjectContext 这个项目我最初开始创建的时候用的EF版本为EF4.0当时EF4.0只提供了ObjectContext API接口模式 这个访问方式只能对于DataBase Frist用,不能用于Code Frist.所以一直用到这里 从旧的ObjectContext改为T4(操作前备份项目) 第二步: ? 第三步: ? -> ? 最后看到DB.emdx下生成了很多模型类。根据表而生成的! 因为ObjectContext有些方法和属性在DBContext已经不能用了 ObjectContext和ObjectSet都提供了AddObject的功能:   比如 context.AddObject string.Format( CultureInfo.InvariantCulture, "return ((IObjectContextAdapter)this).ObjectContext.CreateQuery

    2.2K60发布于 2018-01-16
  • 来自专栏大内老A

    在Entity Framework中使用存储过程(二):具有继承关系实体的存储过程如何定义?

    使用过EF的读者应该很清楚,客户端代码进行数据的查询和更新都是通过自动生成的一个继承自ObjectContext的类来完成的。我们不妨来看看针对上面创建的.edmx模型,这个类具有怎样的定义。 1: public partial class HrEntities : ObjectContext 2: { 3: public ObjectSet<Employee> Employees Sales: No 2: Employee ID: 002; First Name: Yan Yan; Last Name: Xu; Is Sales: Yes 从上面的代码中我们可以看到,当我们通过ObjectContext

    2.5K100发布于 2018-02-07
  • 来自专栏跟着阿笨一起玩NET

    在Entity Framework中重用现有的数据库连接字符串

    自己创建EntityConnection,并将之传递给ObjectContext的构造函数,代码如下: public CNBlogsObjectContext() : base(BuildConnection

    1.7K20发布于 2018-09-19
  • 来自专栏跟着阿笨一起玩NET

    【C#】Entity Framework 增删改查和事务操作

    //获取到user的状态实体,可以修改其状态 var setEntry = ((IObjectContextAdapter) db).ObjectContext.ObjectStateManager.GetObjectStateEntry

    1.6K10发布于 2018-09-19
领券