NHibernate,如何读取NamedQuery结果元数据?

发布于 2024-09-09 03:48:09 字数 581 浏览 3 评论 0原文

我在我的 nhibernate 映射文件上定义了一个 sql 查询,它调用一个存储过程来选择一些记录。

 <sql-query name="sp_MYSP">
     exec MYDBSP :param1, :param2, :param3
 </sql-query>

在代码中,我以这种方式调用命名查询:

  IQuery myQuery= Session.GetNamedQuery("sp_MYSP");
  myQuery.SetString("param1", p1);
  myQuery.SetString("param2", p2);
  myQuery.SetString("param3", p3);

为了获取结果,我使用“List”方法

   myQuery.List();

,但通过这种方式,它返回一个没有任何元信息的对象列表......如列名。我会像数据表一样读取结果来获取特定属性的值...我该怎么办?

所选记录不代表我的域模式的任何实体,而仅代表特定流程使用的数据集合。

I have an sql-query define on my nhibernate mapping file, that call an stored procedure to select some records.

 <sql-query name="sp_MYSP">
     exec MYDBSP :param1, :param2, :param3
 </sql-query>

On code, I call the named query in this way:

  IQuery myQuery= Session.GetNamedQuery("sp_MYSP");
  myQuery.SetString("param1", p1);
  myQuery.SetString("param2", p2);
  myQuery.SetString("param3", p3);

to get results I use "List" method

   myQuery.List();

but in this way it return a list of objects without any meta information...like columname. I would read result like a datatable to get value of specific property...how can I do?

The selected records don't represents any entity of my domain modal, but only a collection of data use for a specific process.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

尛丟丟 2024-09-16 03:48:09

如果您不将该查询映射到实体并期望数据表,那么为什么要使用 NHibernate?

如果您实际上将 NHibernate 用于其余数据 (session.Connection),您仍然可以从 NHibernate 获取连接并从那里创建原始 ADO.NET 命令。

If you are not mapping that query to an entity and expect a datatable, why use NHibernate at all?

You can still get a connection from NHibernate if you are actually using it for the rest of your data (session.Connection) and create a raw ADO.NET command from there.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文