Bir tablo B'ye üçüncü bir tablodan C referansları olan bir tablo A var. C, A ve B'nin birincil anahtarını içerir. Her A için en fazla bir kayıt vardır. C için A için bir eşleme oluşturmaya çalıştığımda, Referanslar işlevini kullanıyorum, ancak eşlemenin doğrudan başka bir tablodan geçmediğini belirtmeme izin vermiyor. Bunu yapmanın doğru yolu nedir? Ben o A haritalama bir HasManyToMany olacağını yapabileceğini biliyorumFluent NHibernate ek tablodan tek bir haritalama
0
A
cevap
0
Sanırım cevabı google kod örneklerinde buldum. haritalama sınıfında, o yazmak mümkündür ek:
WithTable("SomeTable", c => { c.Map(x => x.Col1); });
0
sadece haritalama:
HasManyToMany(x => x.B)
.WithTableName("C")
.WithParentKeyColumn("A_Id")
.WithChildKeyColumn("B_Id");
sorun haritalama A Bs bir listesini değil, sadece bir tane olması için olmasıdır. Temiz bir şekilde sadece bir tane almak için nasıl yapabileceğini bilmiyorum.
tablosu C varolmaya için özel bir nedeni var mı? DB tasarımına baktığımızda, bire bir eşleme gibi görünmüyor. Bunun bir nedeni – gcores
nedenlerinden biri, eski kodu (A) 'nın çok fazla sütuna sahip olmasını engellemektir. – eulerfx