我在做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是最好的解决方案。