Asp.net 在EF代码中首先定义语言特定实体的有效方法
我正在开发一个多语言的ASP.NET web应用程序,它首先使用实体框架代码实现数据持久性。例如,我为我的“项目”实例定义了一个实体 现在我想添加另一种语言支持,允许管理员为不同的语言项目描述保存不同的字符串数据。现在我必须继续添加属性,比如Asp.net 在EF代码中首先定义语言特定实体的有效方法,asp.net,entity-framework,localization,code-first,Asp.net,Entity Framework,Localization,Code First,我正在开发一个多语言的ASP.NET web应用程序,它首先使用实体框架代码实现数据持久性。例如,我为我的“项目”实例定义了一个实体 现在我想添加另一种语言支持,允许管理员为不同的语言项目描述保存不同的字符串数据。现在我必须继续添加属性,比如 public string Name_Es {get; set;} public string Descr_Es {get; set;} 并提供特定的逻辑以允许这些特定于语言的字段的填充 有没有一种更有效的方法可以首先通过EF代码保存特定于语言的数据?
public string Name_Es {get; set;}
public string Descr_Es {get; set;}
并提供特定的逻辑以允许这些特定于语言的字段的填充
有没有一种更有效的方法可以首先通过EF代码保存特定于语言的数据?一旦我们完成了一个获取量更小的项目。实体是这样的,
public class Project
{
public Guid Id {get; set;}
public string Name {get; set;}
public string Descr {get; set;}
publis List<Translation> NameTranslations{get;set;}
}
public Translation
{
public int Id {get;set;}
public int LanguageId {get;set;}
public string Text{get;set;}
}
与您的方法相比,这种方法的优点是,我们不需要为每种语言的每一个所需的列设置列。如果你想添加新的语言,只需添加新的枚举值,而不需要对域对象进行任何更改。我们曾经做过一个获取量更小的项目。实体是这样的,
public class Project
{
public Guid Id {get; set;}
public string Name {get; set;}
public string Descr {get; set;}
publis List<Translation> NameTranslations{get;set;}
}
public Translation
{
public int Id {get;set;}
public int LanguageId {get;set;}
public string Text{get;set;}
}
与您的方法相比,这种方法的优点是,我们不需要为每种语言的每一个所需的列设置列。如果您想添加新语言,只需添加新的枚举值,而不需要更改域对象
public class ProjectDto
{
public Guid Id {get; set;}
public string Name {get; set;}
public string Descr {get; set;}
}