gpt4 book ai didi

.net - 在SubmitChanges之前从LINQ-to-SQL DataContext检索对象

转载 作者:行者123 更新时间:2023-12-02 04:19:05 24 4
gpt4 key购买 nike

我在不调用SubmitChanges()的情况下将新对象插入LINQ-to-SQL DataContext中:

MyDataContext db = new MyDataContext();
MyObject newObject = new MyObject()
{
Id = 1,
Name = "MyName"
};
db.MyObjects.InsertOnSubmit(newObject);

现在在我的代码的另一个位置,我想检索这个新对象,即使它还没有在数据库中。因此,我在那里传递了相同的DataContext实例,因为我相信新对象将在其中缓存。现在我要检索它。但这不起作用:
MyObject newObject = db.MyObjects.Where(o => o.Id == 1).SingleOrDefault();

我该怎么办?那可能吗?

最佳答案

尝试:

db.MyObjects.SingleOrDefault(o => o.Id == 1);

您会认为这是相同的,但是会看到以下两个连接问题:
  • LINQ-to-SQL doesn't use cache for lookup
  • LINQ-to-SQL still roundtrips for ID lookups (3.5SP1)

  • 如果那不起作用,我知道 .Single(o => o.Id == 1)在3.5 SP1中有效(我不知道是否尝试过 .SingleOrDefault(pred))。显然 .Where(o => o.Id == 1).Single()已在4.0中修复-再次,我还没有尝试过 .Where(pred).SingleOrDefault()

    关于.net - 在SubmitChanges之前从LINQ-to-SQL DataContext检索对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/810529/

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