【问题标题】:Does Fluent-NHibernate support mapping to procedures?Fluent-NHibernate 是否支持映射到过程?
【发布时间】:2008-11-17 20:11:39
【问题描述】:

我一直想知道是否可以让 Fluent-NHibernate 与已经存在的存储过程进行通信,并将结果集的映射分配给我自己的域对象。

Fluent-NHibernate 也可以直接执行过程而不返回结果集吗?

基本上,我一直在考虑使用 Fluent-NHibernate 将过时的 TypedDataSet 模型替换为可以从 DAL 返回简单对象的域驱动设计的含义。如果 Fluent-NHibernate 不能轻松地与 SP 一起工作,我想我最有可能拥有一个组合 DAL,它可以利用 FNH 进行简单的 CRUD 操作,同时让复杂的过程由 Enterprise Library 管理。虽然我认为如果 FNH 不能很好地与 SP 配合使用,那么拥有 2 个竞争 DAL 并不是最佳选择,但我很想听听除了同时使用 EntLib 和 FNH 之外的任何其他想法。

【问题讨论】:

  • @Gregory 我看了你的博客,老实说我不知道​​,我和 NHibernate/FNH 发生了争执,并且一直在关注他们的任何事情。不过,这似乎是一个在堆栈溢出时打开的好问题。

标签: c# nhibernate stored-procedures fluent-nhibernate enterprise-library


【解决方案1】:

只是回答我自己的问题,答案就是您可以为 NHibernate 编写 xml 映射并将它们与 Fluent-NHibernate 映射结合起来。 FNH 的 SP 映射很可能会在以后添加。

【讨论】:

    【解决方案2】:

    Fluent NHibernate 的主干版本(在 GitHub 上)支持插入、更新和删除存储过程。

    在您的映射类构造函数中,调用:

    SqlInsert("StoredProcName");
    

    免责声明:我自己还没有测试过,但它肯定很快就会派上用场。

    有关详细信息,请参阅 Fluent NHibernate Google 组中的 this thread

    【讨论】:

    • 很高兴知道这些当然远不如选择过程有用,但我想这会导致更奇怪的编程。
    • 是的...当前的实现不是很有用。无论如何,FNH 要完全支持 (sob) CRUD 存储过程,它仍然需要添加对“loader”和“sql-query”元素的支持。但我认为那里没有任何进展。
    猜你喜欢
    • 1970-01-01
    • 2011-04-10
    • 2011-04-18
    • 1970-01-01
    • 2011-06-18
    • 2012-04-03
    • 1970-01-01
    • 1970-01-01
    • 2012-10-19
    相关资源
    最近更新 更多