Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>An alternative to Firo's answer (yes, I copied it and adapted it and feel bad about this).</p> <p>It uses a dictionary and maps the translations as composite element (so it doesn't need the id at all)</p> <pre><code>public class Question { public virtual string QuestionId { get; set; } public virtual string Text { get { var translation = Translations[CultureInfo.CurrentCulture.Name]; if (translation != null) return translation.Text return null; } set { GetTranslation(CultureInfo.CurrentCulture.Name).Text = value; } } public virtual string Hint { get { var translation = Translations[CultureInfo.CurrentCulture.Name]; if (translation != null) return translation.Hint return null; } set { GetTranslation(CultureInfo.CurrentCulture.Name).Hint = value; } } private QuestionTranslation GetTranslation(CultureInfo.CurrentCulture.Name) { QuestionTranslation translation; if (!Translations.TryGetValue(CultureInfo.CurrentCulture.Name, out translation)) { translation = new QuestionTranslation() Translations[CultureInfo.CurrentCulture.Name] = translation; } return translation; } protected virtual IDictionary&lt;string, QuestionTranslation&gt; Translations { get; private set; } } class QuestionTranslation { // no id, culture name public virtual string Text { get; set; } public virtual string Hint { get; set; } } </code></pre> <p>mapping:</p> <pre><code>&lt;class name="Question"&gt; &lt;id name="QuestionId" column="QuestionId"/&gt; &lt;map name="Translations" table="QuestionTranslation" lazy="true"&gt; &lt;key column="QuestionId"/&gt; &lt;index column="CultureName"/&gt; &lt;composite-element class="QuestionTranslation"&gt; &lt;property name="Text"/&gt; &lt;property name="Hint"/&gt; &lt;/composite-element&gt; &lt;/bag&gt; &lt;/class&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

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