Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 更新一个变量,则更新另一个变量_C# 4.0_Ravendb - Fatal编程技术网

C# 4.0 更新一个变量,则更新另一个变量

C# 4.0 更新一个变量,则更新另一个变量,c#-4.0,ravendb,C# 4.0,Ravendb,当我用相同的数据加载到变量并更新其中一个,然后另一个被更新到,只是好奇为什么会发生这种情况,我对此完全陌生,我只是开始学习:) 使用(var session=Store.OpenSession()) { var Example1=session.Load(string.Format(“EX1/{0}”,11)); var Example2=session.Load(string.Format(“EX1/{0}”,11)); 示例1.DateCreated=DateTime.Now; 示例1.Cr

当我用相同的数据加载到变量并更新其中一个,然后另一个被更新到,只是好奇为什么会发生这种情况,我对此完全陌生,我只是开始学习:)

使用(var session=Store.OpenSession())
{
var Example1=session.Load(string.Format(“EX1/{0}”,11));
var Example2=session.Load(string.Format(“EX1/{0}”,11));
示例1.DateCreated=DateTime.Now;
示例1.CreatedBy=“Anand”;
session.SaveChanges();
}

当我检查Example2的值时,它已被更新为Example1的相同值。当您加载
Example2
时,RavenDB足够聪明,可以看到您已经在此会话中加载了相同的文档。因此,它返回了相同的实例。

当您加载
示例2
时,RavenDB非常聪明,可以看到您已经在此会话中加载了相同的文档。因此它返回了相同的实例。

asp.net中的会话是通过引用传递的,所以我猜ravenDb也会这样做。在这种情况下,
example1
&
example2
将指向相同的对象谢谢Thomas Freudenberg和asp.net中的@ServSessions是通过引用传递的,所以我猜ravenDb也会这样做。在这种情况下,
example1
example2
将指向相同的对象谢谢托马斯·弗洛登伯格和@Serv
using (var session = Store.OpenSession())
{
    var Example1 = session.Load<EX1>(string.Format("EX1/{0}", 11));
    var Example2 =session.Load<EX1>(string.Format("EX1/{0}", 11));
    Example1.DateCreated = DateTime.Now;
    Example1.CreatedBy = "Anand";
    session.SaveChanges();
}