EAV/CR veri modelinin gevşek bir yorumu olan bir veri modelini eşlemek için NH'yi kullanıyorum.Bir EAV veri modeli ile NHibernate'i kullanma
Çoğunlukla çalışıyorum ama Entity.Attributes koleksiyonunu eşleştirmekle uğraşıyorum. İşte
Söz konusu tablolar şunlardır:--------------------
| Entities |
--------------------
| EntityId PK |-|
| EntityType | |
-------------------- |
-------------
|
V
--------------------
| EntityAttributes | ------------------ ---------------------------
-------------------- | Attributes | | StringAttributes |
| EntityId PK,FK | ------------------ ---------------------------
| AttributeId FK | -> | AttributeId PK | -> | StringAttributeId PK,FK |
| AttributeValue | | AttributeType | | AttributeName |
-------------------- ------------------ ---------------------------
attributeValue sütunu bir sql_variant sütun olarak uygulanır ve bunun için bir NHibernate.UserTypes.IUserType uyguladık.
Bir EntityAttribute varlığı oluşturabilir ve hiyerarşinin bir kısmının çalışmasını sağlamak için doğrudan doğruya devam edebilirim.
EntityAttributes koleksiyonunun Varlık varlığına nasıl eşleneceğinden emin değilim.
Not EntityAttributes tablo olabilir (ve) Verilen ENTITYID/Attributeıd kombinasyonu için birden fazla satır içerir:
StringAttributes satır bu örnek için şuna benzer
EntityId AttributeId AttributeValue
-------- ----------- --------------
1 1 Blue
1 1 Green
:
StringAttributeId AttributeName
----------------- --------------
1 FavoriteColor
Ben nasıl Bu veri modelini Entity etki alanımla, Entity.Attributes ("FavoriteColors") favori renk koleksiyonları döndürecek şekilde etkin bir şekilde eşleştirin? System.String olarak yazılmıştır?
gider? –
Öznitelikleri öznitelik değerlerine göre bulmayı planlıyorsanız, sql_variant'ın düzgün çalışıp çalışmadığından emin değilim. Bunu denemelisin. –