实体框架和外键作为字符串

时间:2011-10-19 14:58:17

标签: c# sql database entity-framework foreign-key-relationship

我有以下表格:

 Language
    Id (bigint, primary key)
    Name (nvarchar(100))
    Code (nvarchar(2))

  Article
    Id (bigint, primary key)
    LanguageCode (nvarchar(2), foreign key constraint to Language/Code)
    ...

我的问题:如果我使用实体框架4生成模型,它不会生成Article / LanguageCode和Language / Code之间的关系。这是一个实体框架限制吗?我还应该将LanguageId添加到Article表中,还是我在这里做了一些完全错误的事情?

谢谢!

1 个答案:

答案 0 :(得分:3)

我认为问题是Language.Code不是Language类的主键。 在您的模型中,允许使用相同的Language.Code具有不同的语言。

另一件事。从商业角度来看,根据用户文化而不是语言,更好地拥有不同的文章。因为语言不是单一文化的独特之处,所以像CurrencyFormat,DateFormat,Taxes和当然法律这些商业事物都是文化特定的。