【问题标题】:C#/NHibernate: Association references unmapped classC#/NHibernate:关联引用未映射的类
【发布时间】:2016-01-27 07:23:25
【问题描述】:

我已经为这个 NHibernate 问题苦苦挣扎了好几个小时。我在网络上以及 NHibernate 文档上进行了广泛的研究,但我无法理解这个问题。我对 NHibernate 比较陌生,并且喜欢它。不过,在这种情况下,它让我发疯了。

我正在为网站编写一个小型“投票”模块。我有几个课程(投票、投票投票和投票回答)。主要的,民意调查,是导致问题的原因。这就是这个类的样子:

public class Poll
    {
        public virtual int Id { get; set; }
        public virtual Site Site { get; set; }
        public virtual string Question { get; set; }
        public virtual bool Locked { get; set; }
        public virtual bool Enabled { get; set; }
        public virtual ICollection<PollAnswer> AnswersSet { get; set; }
        public virtual ICollection<PollVote> VotesSet { get; set; }
    }

这就是映射的样子:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
                   assembly="Folke"
                   namespace="Folke.Code.Domain">
  <class name="Poll">
    <id name="Id">
      <generator class="native"></generator>
    </id>
    <property name="Site"/>
    <property name="Question"/>
    <property name="Locked"/>
    <property name="Enabled"/>
    <set name="AnswersSet" lazy="true">
      <key column="PollId"/>
      <one-to-many class="PollAnswer"/>
    </set>
    <set name="VotesSet" lazy="true">
      <key column="PollId"/>
      <one-to-many class="PollVote"/>
    </set>
  </class>
</hibernate-mapping>

这会返回一个错误:

关联引用未映射 类:Folke.Code.Domain.PollAnswer 描述:未处理的异常 在执行过程中发生 当前的网络请求。请查看 堆栈跟踪以获取有关的更多信息 错误及其起源 代码。

异常详情: NHibernate.MappingException: 关联引用未映射的类: Folke.Code.Domain.PollAnswer

我真的很想了解这一点,并更好地了解 NHibernate 的内部工作。我不明白它怎么看不到 PollAnswer 类。

【问题讨论】:

    标签: c# nhibernate


    【解决方案1】:

    你需要去.hbm.xml文件>properties>Build Action设置为Embedded Resource

    【讨论】:

      【解决方案2】:

      您正在定义 Poll 和 PollAnswer 之间的一对多关系。因此,您需要在 hbm.xml 文件中包含 PollAnswer 部分。您还需要一个用于 PollVote。

      【讨论】:

      • 另外在 hbm.xml 文件属性中,确保 Build Action 设置为 Embedded Resource
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 1970-01-01
      • 2012-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多