小编Mat*_*tan的帖子

7
推荐指数
1
解决办法
4万
查看次数

gsoap作为soap客户端是线程安全的吗?

我正在使用gsoap 2.8连接到WCF服务(我的应用程序是客户端)。

它是线程安全的吗?我应该定义一些预编译的定义吗?

谢谢,

马丹

c++ multithreading gsoap thread-safety visual-studio-2008

5
推荐指数
1
解决办法
1852
查看次数

如何获取DB序列生成的新对象ID?

我有表序列和触发器,因此在将其插入数据库时​​会创建新的id.

在调用SaveChanges()之前,如何获取新的对象id?

我需要这个id用于新对象和其他对象之间的链接.

我想在调用SaveChanges之前这样做,因为我想要回滚选项.

c# database oracle entity-framework visual-studio

3
推荐指数
1
解决办法
2515
查看次数

实体框架:如何使用多个上下文并保持同步?

我是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.

我怎么解决这个问题?

我不希望每次要访问数据库时都创建一个上下文实例.

刷新不够好我必须在每次查询之前完成它(我的应用程序是多线程的),并且需要花费很多时间.

如果我有办法在每次尝试选择时告诉实体框架执行查询,那就太棒了.

谢谢!

c# database oracle entity-framework visual-studio

2
推荐指数
1
解决办法
5723
查看次数