我正在使用 EF7 本地化处理 ASP.NET vNext 项目。我知道如何提供将存储在数据库中的本地化数据。请问,什么是最好的解决方案?甲、乙或丙?还是存在更好的?
解决方案 A:
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 可以为每个属性创建 key + language + value 的静态资源。此资源已缓存。表中的行包含资源文件的键。此实现会导致速度降低吗?
最佳答案
我会说 c 是最好的解决方案。 Nopcommerce 通过保持松耦合来做到这一点。
关于c# - Entity Framework - 本地化实体 - 最佳解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32570119/