是否有一种方法可以返回创建的记录,而无需再次查询数据库

本文关键字:记录 数据库 查询 创建 返回 一种 方法 是否 | 更新日期: 2023-09-27 18:07:01

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。正如您所看到的,我创建了记录,而不是将它插入到我的db表中。当我创建它时,我的数据库自动将值分配给Kod字段。

是否有任何方法可以立即返回创建的记录,而无需再次查询数据库表?

是否有一种方法可以返回创建的记录,而无需再次查询数据库

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

该方法的文档说明如下:

保存暂态对象。生成id,将其分配给对象并返回

IRepository.Create()方法有一个void返回类型,所以不返回新的id,但是它被分配给您传递给该方法的对象。

所以在这种情况下,你的record变量已经包含了相同的对象,当你查询db