我正在使用Oracle SQL开发人员或Oracle SQL*Plus
我正在使用gsoap 2.8连接到WCF服务(我的应用程序是客户端)。
它是线程安全的吗?我应该定义一些预编译的定义吗?
谢谢,
马丹
我有表序列和触发器,因此在将其插入数据库时会创建新的id.
在调用SaveChanges()之前,如何获取新的对象id?
我需要这个id用于新对象和其他对象之间的链接.
我想在调用SaveChanges之前这样做,因为我想要回滚选项.
我是EntityFramework的新手.
我的应用程序有一个上下文对象实例池(每个上下文与数据库有1个连接).
问题是,当我更新一个对象(并调用SaveChanges)时,数据会在数据库和更新上下文中更新,但是当我从其他实例中选择时,它会获取所选对象的旧数据.
例:
让我们想象一个名为tbl的表.
该表有2列:id和data.
有1行:id = 1,data = 2.
EFContext context1 = new EFContext();
EFContext context2 = new EFContext();
var obj1 = context1.tbl.Where(a => a.id == 1);
var obj2 = context2.tbl.Where(a => a.id == 1);
obj2.data = 10;
context2.SaveChanges();
var obj3 = context1.tbl.Where(a => a.id == 1);
Run Code Online (Sandbox Code Playgroud)
执行这些行后,obj3.data包含2,而不是10.
我怎么解决这个问题?
我不希望每次要访问数据库时都创建一个上下文实例.
刷新不够好我必须在每次查询之前完成它(我的应用程序是多线程的),并且需要花费很多时间.
如果我有办法在每次尝试选择时告诉实体框架执行查询,那就太棒了.
谢谢!