我遇到FluentNhibernate公式映射問題。我需要在公式中使用連接表中的列。FluentNhibernate公式映射與來自已加入表的參數
問題是表現出以下三個表:市人,地址
class Person {
int PersonId { get; set; }
int AddressId { get; set; }
Address PersonAddress { get; set; }
string CityName { get; set; }
}
class Address {
int AddressId { get; set; }
string Street { get; set; }
}
class AddressMap<Address> {
Id(x => x.AddressId, "ADDRESS_ID");
Map(x => x.Street, "STREET");
}
class PersonMap<Person> {
Id(x => x.Id, "PERSON_ID");
References(x => x.PersonAddress).Column("ADDRESS_ID);
Map(x => x.CityName).Formula("select Name from City c where c.street = STREET");
// Doesn't work, STREET is a part of the joined table !
}
不知道如何正確地寫公式映射?當我使用的值 NHibernate的會產生改寫的映射,這樣就可以了,不過,這是很骯髒的解決方案:
Map(x => x.CityName).Formula("select Name from City c where c.street = address1_.STREET");
// Works !!
希望得到任何幫助!