Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.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# 为什么实体框架不是';是否使用工作单元实施身份图?_C#_Entity Framework_Unit Of Work_Identity Map - Fatal编程技术网

C# 为什么实体框架不是';是否使用工作单元实施身份图?

C# 为什么实体框架不是';是否使用工作单元实施身份图?,c#,entity-framework,unit-of-work,identity-map,C#,Entity Framework,Unit Of Work,Identity Map,我已经编写了以下测试代码: Entities db = new Entities(); var place = new Place { Id = Guid.NewGuid(), Name = "test", Address = "address" }; db.Places.Add(place); var ca

我已经编写了以下测试代码:

Entities db = new Entities();

var place = new Place
                {
                    Id = Guid.NewGuid(),
                    Name = "test",
                    Address = "address"
                };

db.Places.Add(place);

var cachedPlace = db.Places.Where(x => x.Id == place.Id).FirstOrDefault(); \\ null

我希望dbset会返回添加的实体。但只有在将更改保存到实际数据库后,它才会给我对象。

如果要访问未保存的查询,则使用数据库集的本地属性

它不能按您希望的方式工作的原因是它还必须支持自动编号的标识,这意味着ID为0。如果插入多条记录,则会有多个具有相同0 ID的对象。EF在保存后才知道实际ID是什么