• Since you are dealing with internationalization already, what form are you using for numeric data in the fields?:

    9,999.99

    9.999,99

    Your C# code will need to parse with a specific locale, otherwise users changing their regional settings will result in differing formats.

    This is a fundamental flaw in EAV models - interpretation of what is, effectively, free-form data that the database cannot help you enforce the rules on.

    Even when it is only used for configuration, if the value is used as a threshold option like "Minimum Shipping Charge", it could come into calculations.

    EAV is useful - it's great for options and configurations.

    Not so good for the "designing a database within a database" idea.

    But this problem of type-safety and validation has not yet been addressed to my satisfaction in any architecture I've seen.