gpt4 book ai didi

c# - 遇到 Nhibernate 和 ManyToOne 属性问题

转载 作者:太空宇宙 更新时间:2023-11-03 16:52:02 25 4
gpt4 key购买 nike

我有一个具有多对一属性的类,定义如下:

[NHMA.ManyToOne(Name = "TypeOfEvent", ClassType = typeof(EventType), Column="EventTypeId")]
public virtual EventType TypeOfEvent {get; set;}

每次我尝试使用简单查询加载类(只加载数据库中的所有事件)时,我都会遇到以下异常:

NHibernate.HibernateException : Creating a proxy instance failed
----> System.Reflection.AmbiguousMatchException : Ambiguous match found.

Event 表有一个外键 (EventTypeId),它与 ​​EventType 表的主键 EventTypeId 相关。如果我将映射更改为 int 一切正常。

我意识到这可能是一件非常简单的事情,但谷歌搜索并没有帮助。帮助。请。

最佳答案

我认为您不需要在 ManyToOne 属性上设置 Name 属性。

我在过去的项目中使用的只是:

[ManyToOne(Column = "TypeOfEvent",
ClassType = typeof(EventType),
NotNull = ??)] // Set as appropriate
public virtual EventType TypeOfEvent { get; set; }

正如评论者所提到的,如果您向该文件添加了其他 namespace ,则 EventType 类可能不明确;但是,如果是,您应该会收到编译器错误。

这是一个新项目,还是您尝试加载的第一种实体?您之前是否在此项目中成功创建过任何其他 ManyToOne 映射?

关于c# - 遇到 Nhibernate 和 ManyToOne 属性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3589163/

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