Asp.net MVC 2如何在Framework Entity中自定义我的模型。问题对于multilang应用程序

时间:2010-09-04 22:47:09

标签: asp.net-mvc-2 entity-framework-4

这是一个multilang表设计。是否可以为我的CategoryText模型添加一个方法,以便为特定的langID提供CatName。 LangID将由客户选择并设置在Session变量中。

示例:我想获得类似的类别名称

var a =  _db.Categories.Single(a=> a.AreaTypeID == 2);
string CatName = a.CategoryTexts.GetCatName();


语言的 LangID PK
LangName nvarchar(100)

分类
CatID Pk
IsActive Bit

CategoryText
CatID FK
CatName nvarchar(200)
LangID Int

语言
LangID | LangName
1 |英语
2 |法国
这是我的数据库结构。

类别
CatID | IsActive
1 |真的 2 |真的 3 |真的

CategoryText
CatID | CatName | LangID
1 |汽车| 1
1 |自动| 2
2 |聊天| 2
3 |飞机| 1
3 | Avion | 2

感谢

1 个答案:

答案 0 :(得分:2)

string CatName = a.CategoryTexts.
                 Single(ct => ct.LangID == (int)Session["LangID"]).CatName;

public string GetCatName(Area a)
{
    return a.CategoryTexts.
                 Single(ct => ct.LangID == (int)Session["LangID"]).CatName;
}