0

流暢な nhibernate 1.1 (nhibernate 3.1 を使用) から FluentNhibernate 1.3 (Nhibernate 3.3 を使用) にアップグレードしました。

私は基本クラスが抽象である継承ツリーを持っています:

public abstract class Student {
string Firstname;
string Lastname;
}
public class DayStudent : Student {}
public class NightStudent : Student {}

public class School {
 List<Student> Students;
}

Nhibernate 3.1 では、学生用のテーブル (名と姓の列を含む) と、DayStudent と NightStudent 用の他の 2 つのテーブルがありました。これは私が以前持っていたコンサートごとのテーブルです。Nhibernate 3.3 では、School クラスの Students コレクションにアクセスすると、「抽象クラスまたはインターフェイスをインスタンス化できません」という例外がスローされます。私のマッピングは、以前は nhibernate 3.1 で大きく機能していました。

このバージョンで何が変わったのですか?どうすれば修正できますか?

4

1 に答える 1

0

少し遅れて申し訳ありませんが、これは私が持っていた問題を思い出させます-リストコレクションにList<...>を本当に使用している場合、問題はおそらくそこにあります。永続エンティティのリスト コレクションには IList<...> を使用する必要があることを思い出すようです。IList<> 型のプロパティを宣言するだけで、List のインスタンスを Student に割り当てることができます。お役に立てれば。

于 2013-01-17T22:44:02.393 に答える