gpt4 book ai didi

c# - 为什么 Entity Framework 不使用工作单元实现恒等映射?

转载 作者:行者123 更新时间:2023-11-30 16:21:16 27 4
gpt4 key购买 nike

我写了如下测试代码:

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 会返回添加的实体。但只有在将更改保存到真实数据库后,它才会给我对象。

最佳答案

如果要访问未保存的查询,则使用 DbSet 的 Local 属性。

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

关于c# - 为什么 Entity Framework 不使用工作单元实现恒等映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13382129/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com