返されたデータをSQLからクラスを含むクラスに変換しようとすると、NHibernateで迷惑なエラーが発生し続けます。私はこれらのクラスを言うことができます。NHibernate - クラス内のクラスに変換する?
[DataContract()]
public class Person {
[DataMember]
public string Name { get; set; }
[DataMember]
public Dog Dog { get; set; }
}
[DataContract()]
public class Dog {
[DataMember]
public int Age { get; set; }
}
このSQLクエリがあります。
SELECT
p_name AS 'Name',
p_dog_age AS 'Dog.Age'
FROM People WHERE p_name = 'Foo';
そして、Personクラスにこれを変換するI
var person = Session.CreateSQLQuery(Sql.GetPerson)
.SetResultTransformer(new AliasToBeanResultTransformer(typeof(Person)))
.Future<Person>().FirstOrDefault();
私はこれを行うたびに、私はそれがのプロパティを見つけることができないという不満次のエラー
An exception of type 'NHibernate.PropertyNotFoundException' occurred in NHibernate.dll but was not handled in user code
を取得Dog.Ageとそれはsetterプロパティを持たないということです。私はそれが可能でなければならないことを知っているが、私はそれを把握することはできません。
SQLクエリから返される値がnullではないことがわかります。
私はあなたのソリューションを見て、それがよさそうです。しかし、変圧器を延長することなくそれを行うことはできないのですか? –