我试试这个:
Property(c => c.CompanyKindId).HasColumnName("CMPCompanyKindId").HasColumnType("smallint").IsOptional();
HasOptional(c => c.CompanyKind).WithMany().HasForeignKey(c => c.CompanyKindId);
或这个:
HasOptional(c => c.CompanyKind).WithMany().Map(m => m.MapKey("CompanyKindId"));
在测试中,我可以得到所有没有关系的类型的列表,但是所有有关系的类型(上面写了关系的映射代码),我得到一些像这样的错误:
Invalid column name 'CompanyKind_ID' ...
我正在使用 vs 2012 、 sql server 2012 和从 2008 R2 获得的脚本生成的 Db。
编辑: 我忽略了关系和导航属性中的属性:
Ignore(c => c.CompanyKind);
Ignore(c => c.CompanyKindId);
但我仍然得到同样的错误。