实体框架-本地化实体-最佳解决方案



我在做ASP。. NET vNext项目与EF7本地化。我有一些想法如何提供本地化的数据,将存储在数据库中。请问,最好的解决方案是什么?A, B还是C?或者存在更好的?

解决方案一:

public  class BaseEntity 
{
    [Key]
    public Guid Id { get; set; }
    public BaseEntityModel()
    {
        this.Id = new Guid();
    }
    [Required]
    public virtual Language Language { get; set; }
    public virtual ICollection<BaseEntity> Translations { get; set; }
}      
public class Language
{
    public Guid Id { get; set; }
    [StringLength(8)]
    public string Code { get; set; } // Unique
    public string Name { get; set; }
}

解决方案B:(使用复合键- RowId和languageID),像这样…

public  class BaseEntity 
{
    [Key, Column(Order = 0)]
    public Guid Id { get; set; }
    public BaseEntityModel()
    {
        this.Id = new Guid();
    }
    [Key, Column(Order = 1)]
    public Guid LanguageId { get; set; }
    [Required]
    public virtual Language Language { get; set; }
}      

解决方案C:由NopCommerce使用。Nop可以用键+语言+值为每个属性创建静态资源。这些资源被缓存。表中的行包含资源文件的键。这种实现会降低速度吗?

我认为c是最好的解决方案。

相关内容

最新更新