MVC + WebApi架构在数据库中的翻译

时间:2014-04-10 08:48:44

标签: asp.net-mvc entity-framework asp.net-web-api

对于我目前使用.net MVC堆栈开发的应用程序,以及WebApi,我需要将翻译放入数据库中。

我的实体看起来像这样:

public class Article {
  public int Id { get; set; }

  TitleTranslatableId { get; set; }

  [NotMapped]
  TitleValue { get; set; }

}

所以TitleTranslatableId是对我数据库中表的引用。

我目前的问题是:

我应该在哪里获得翻译?我考虑过以下几种选择:

  • 在我的存储库层中,所以当我使用_repo.ReadArticle(1)时,它也会查询翻译表
  • 业务层
  • 在我的控制器中使用翻译控制器,所以:article.titleValue = translationsAPI(article.TitleTranslatableId)
  • 作为我实体的派生属性: TitleValue { get { return translationsAPI(this.TitleTranslatableId); } }

我更愿意使用第三种选择,但我不太确定什么是最佳解决方案

1 个答案:

答案 0 :(得分:0)

我建议您在" BUSINESS LAYER"。

中执行此操作

您的控制器应指示您的服务/业务层为您进行翻译。您可以创建一个可供您的服务使用的TranslationHelper类。

虽然我仍然不确定您的问题是什么:您希望在翻译发送到您的网络API的单词后使用网络API进行翻译或保存?