Akıcı bir şekilde nhibernate ile eşlenen bir sınıfım var, ancak sınıflandırma özelliklerinden birinin eşleme tarafından yok sayılmasını istiyorum.Fluent NHibernate'e bir sınıf özelliğini eşlememesine nasıl söylenir
sınıf ve haritalama ilebu hatayı alıyorum aşağıda:
Aşağıdaki türler yakınlık gibi kullanılamaz: iMasterengine.Data.Model.Calendar: yöntem get_HasEvents sanal olmalıdır
//my class
public class Calendar : IEntity {
public virtual int Id { get; private set; }
public virtual string Name { get; set; }
public virtual string SiteId { get; set; }
public virtual IList<CalendarEvent> Events { get; set; }
//ignore this property
public bool HasEvents { get { return Events.Count > 0; } }
}
//my mapping
public class CalendarMap : ClassMap<Calendar> {
public CalendarMap() {
Id(x => x.Id);
Map(x => x.Name);
Map(x => x.SiteId);
HasMany(x => x.Events).Inverse();
//what do I put here to tell nhibernate
//to ignore my HasEvents property?
}
}
Bu satır nereye yerleştirilmelidir? CalendarMap yapıcısına gideceğini düşündüm, ancak orada bir harita örneği göremiyorum. – ddc0660
Yapılandırmayı oluşturduğunuzda eklenmesi gerekir. Bu bağlantıya bakın [http://wiki.fluentnhibernate.org/Auto_mapping#Ignoring_properties](http://wiki.fluentnhibernate.org/Auto_mapping#Ignoring_properties) – Rajeesh
IgnoreProperty() yalnızca eşlemelerinizi * belirtiyorsanız (yani classmap kullanarak) o zaman bu uygun değildir. Poster bir sınıf haritası içeriyordu ve otomatik haritalama hakkında bir şey söylemedi, dolayısıyla bunun ne ile alakalı olduğunu göremiyorum. – UpTheCreek