2

我试图让 Fluent NHibernate 的自动映射忽略我的一个类上的 Dictionary 属性,但 Fluent 却忽略了我。忽略其他类型的属性似乎可以正常工作,但即使在遵循文档并为 Dictionary 添加覆盖之后,调用 BuildSessionFactory 时我仍然会收到以下异常:

类型或方法有 2 个泛型参数,但提供了 1 个泛型参数。必须为每个泛型参数提供泛型参数。

我试过按属性名称覆盖:

.Override<MyClass>(map => {
    map.IgnoreProperty(x => x.MyDictionaryProperty);
})

并且还尝试使用自定义属性实现忽略,这两者都会导致 BuildSessionFactory 出现相同的异常。到目前为止,唯一使此异常消失的是完全删除 Dictionary 属性。

我的问题似乎与从未回答的问题相同(尽管我将通过说明字典是否在抽象基类上无关紧要来扩大范围;无论属性是什么类,问题总是发生在我身上开启)。这次有接盘侠吗?

4

1 回答 1

2

如果您更新到最新版本的 Fluent NHibernate,IDictionarys 会因为这个确切原因而被自动显式忽略。在我们能够真正支持他们之前,情况将一直如此。

于 2010-05-20T22:25:52.527 回答