我对TPT继承+外键有问题。我正在开发一个支持多种语言的web应用程序,包括翻译动态内容。
这是我的桌子:
Language
=============
Id, Name
ProcessingAgent
====================
Id, some other fields
LocalizedProcessingAgent
=========================================================
LocalizedProcessingAgentId, Name, Description, LanguageId
正如你已经猜到的,我移动了应该从
ProcessingAgent
到
LocalizedProcessingAgent
. 在EF方面,我继承了TPT,所以
加工剂
是的基类
本地化处理剂
.
我是EF的新手,这是我的第一个项目,其中一个奇怪的行为让我很困惑。
当我从DB生成EF类时,
本地化处理剂
具有导航属性语言(因为
LanguageId
Language
LocalizedProcessingAgentRecord l = db.ProcessingAgents
.OfType<LocalizedProcessingAgentRecord>().First(p => p.Id == 1);
//l.Language is null
所以外键导航属性由于某种原因没有被填充,我不知道为什么。
LocalizedProcessingAgentRecord
.
有什么想法吗?
以下是EF xml标记:
http://dl.dropbox.com/u/3055964/ef.xml