gpt4 book ai didi

c# - 有没有办法返回创建的记录而无需再次查询数据库?

转载 作者:行者123 更新时间:2023-11-29 07:33:12 24 4
gpt4 key购买 nike

var q = this._prometnaPozivnicaRepository.Table
.Where(x => x.SenderId == userId &&
x.Namjena == namjena &&
(x.DateExpire > DateTime.UtcNow || x.ReceiverId > 0))
.ToList();

MyRecord record = new PrometnaPozivnicaRecord
{
CiklusId = 0,
Namjena = namjena,
SenderId = userId,
ReceiverId = 0,
DateSent = datumOd,
DateExpire = datumDo
};

this._prometnaPozivnicaRepository.Create(record);
q.Add(pozivnica);
return q;

问题是名为“Kod”的字段在数据库上创建,它是 MyRecord 的一个属性。正如您所看到的,我创建了记录,然后将其插入到我的数据库表中。当我创建它时,我的数据库会自动为 Kod 字段分配值。

有没有办法立即返回创建的记录,而无需再次查询数据库表?

最佳答案

IRepository.Create() 在内部调用 NHibernate ISession.Save()

此方法的文档说明如下:

Save a transient object. An id is generated, assigned to the object and returned

IRepository.Create() 方法具有 void 返回类型,因此不会返回新 id,而是将其分配给您传递的对象到方法。

因此,在这种情况下,您的 record 变量已经包含与查询数据库时获得的对象相同的对象。

关于c# - 有没有办法返回创建的记录而无需再次查询数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31872741/

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