Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Edited to reflect changed answer:</p> <pre><code>public class Question { public virtual string QuestionId { get; set; } public virtual string Text { get { var currentculture = CultureInfo.CurrentCulture.Name; return Translations .Where(trans =&gt; trans.CultureName == currentculture) .Select(trans =&gt; trans.Text) .FirstOrDefault(); } set { var currentculture = CultureInfo.CurrentCulture.Name; var translation = Translations .Where(trans =&gt; trans.CultureName == currentculture) .FirstOrDefault(); if (translation == null) { translation = new QuestionTranslation(); Translations.Add(translation); } translation.Text = value; } } public virtual string Hint { get { var currentculture = CultureInfo.CurrentCulture.Name; return Translations .Where(trans =&gt; trans.CultureName == currentculture) .Select(trans =&gt; trans.Hint) .FirstOrDefault(); } set { var currentculture = CultureInfo.CurrentCulture.Name; var translation = Translations .Where(trans =&gt; trans.CultureName == currentculture) .FirstOrDefault(); if (translation == null) { translation = new QuestionTranslation(); Translations.Add(translation); } translation.Hint = value; } } protected virtual ICollection&lt;QuestionTranslation&gt; Translations { get; set; } } class QuestionTranslation { public virtual int Id { get; protected set; } public virtual string CultureName { get; set; } public virtual string Text { get; set; } public virtual string Hint { get; set; } } &lt;class name="Question" xmlns="urn:nhibernate-mapping-2.2"&gt; &lt;id name="QuestionId" column="QuestionId"/&gt; &lt;bag name="Translations" table="QuestionTranslation" lazy="true"&gt; &lt;key&gt; &lt;column name="QuestionId"/&gt; &lt;/key&gt; &lt;one-to-many class="QuestionTranslation"/&gt; &lt;/bag&gt; &lt;/class&gt; &lt;class name="QuestionTranslation" table="QuestionTranslation" xmlns="urn:nhibernate-mapping-2.2"&gt; &lt;id name="QuestionTranslationId"/&gt; &lt;many-to-one name="ParentQuestion" column="QuestionId"/&gt; &lt;/class&gt; </code></pre> <p>if you have a lot of translations then change <code>ICollection&lt;QuestionTranslation&gt; Translations { get; set; }</code> to <code>IDictionary&lt;string, QuestionTranslation&gt; Translations { get; set; }</code> and map as <code>&lt;map&gt;</code> but normally the above should do it</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload