【发布时间】:2013-10-03 07:31:52
【问题描述】:
我在配置自己的数据库和使用管理语言的实体框架制作应用程序的相关代码隐藏时遇到问题。
通常,在我的旧项目中,我有一个表格,比如说 Pages,其中包含标识单个页面的唯一行,带有标准信息(根本不需要翻译):
ID
Author
Date
Location
附上我有一个支持表 Pages_L (1-N),其中包含语言数据,因此为每个页面行翻译了具体信息:
ID
ID_PAGE
LANGUAGE
Title
Description
Notes
嗯,数据库的标准配置!没有数据冗余。
现在问题出现在实体框架中,因为对于我要提取的特定页面,我每次都需要进行选择:
1 - first the page (a `.Where`);
2 - than select the language (another `.Where`)
3 - finally, select the field I want (let say, `Title`)
我觉得这是一个烦人的过程,因为当我进行查询时,我只需要提取固定语言的数据。我的意思是:当我的申请正在处理时,语言总是一种。我不提取一些英文,一些意大利文,一些法文等等。
所以我想要实现的是整个上下文的一种“起始语言点”。 在后期,我只需要这样做:
Pages.Where(p=>p.ID==myID).FirstOrDefault().Title
每次都没有通过 Pages_L 表。
问题是:我可以用实体框架以某种方式做到这一点吗?我可以更改项目中的所有内容,因此每个建议都会很好! (从 DB,到实体框架,再到其他供应策略)。
【问题讨论】:
标签: .net sql-server entity-framework