10
Aynı türün özelliklerini OneToMany ilişkilendirmesinde eşleştirmeye çalışıyorum. Açıklama ile ayırt etmeye çalıştım ama burada sıkışmış. Birçok ilişkileri biri içinAynı türün birden fazla özelliğini otomatik eşleme yoluyla HasMany ile eşleme
public class User
{
public virtual int UserId { get; set; }
public virtual string UserName { get; set; }
[Description("From")]
public virtual IList<Message> FromMessageList { get; set; }
[Description("To")]
public virtual IList<Message> ToMessageList { get; set; }
}
public class Message
{
public virtual int MessageId { get; set; }
public virtual string Text { get; set; }
[Description("From")]
public virtual User FromUser { get; set; }
[Description("To")]
public virtual User ToUser { get; set; }
}
public class DefaultHasManyConvention : IHasManyConvention
{
public void Apply(IOneToManyCollectionInstance instance)
{
if (instance.OtherSide.Property.GetDescription() == instance.Member.GetDescription())
{
if (instance.Member.GetDescription() != null)
instance.Key.Column(instance.Member.GetDescription() + "Id");
else
instance.Key.Column(instance.OtherSide.Property.Name + "Id");
instance.Fetch.Select();
}
}
}
public class DefaultReferenceConvention : IReferenceConvention
{
public void Apply(IManyToOneInstance instance)
{
if (instance.Property.GetDescription() != null)
instance.Column(instance.Property.GetDescription() + "Id");
else
instance.Column(instance.Property.Name + "Id");
instance.Fetch.Select();
}
}
belki de MapedBy gibi bir şey arıyorum NHibernate – Mert
Bu Varlık Yönetim mi? Birçok haritalama veya daha spesifik bir şey için basit bir tane ister misiniz? –
nhibernate etiketli ve sizden EF olup olmadığını mı soruyorsunuz? Muhtemelen buna cevap vermek için yeterli değilsiniz. – Mert