问题描述
我正在尝试将实体框架与定义为 net standard2.0 nuget 包一部分的一组实体一起使用。使用Entity框架的项目是一个net472项目。当我在测试中构建模型时,我看到以下错误
System.Data.Entity.ModelConfiguration.ModelValidationException: One or more validation errors were detected during model generation:
CodeFirstNamespace.<TestEntity>: : EntityType 'TestEntity' has no key defined. Define the key for this EntityType.
TestEntities: EntityType: EntitySet 'TestEntity' is based on type 'TestEntity' that has no keys defined.
上述错误表示实体之一未定义键,但已定义键属性。下面是实体定义
[Table("TestEntity")]
[FilterSupported]
internal sealed class TestEntity
{
[Key]
[Column("entity1Id",Order = 1)]
public int TestId{ get; set; }
public RelatedEntity entity1Id{ get; set; }
[Key]
[Column("entity2",Order = 2)]
public int entity2Id { get; set; }
public RelatedEntity2 entity2 { get; set; }
}
以下是项目中用到的参考
- 实体框架 6
- System.ComponentModel.Annotations 4.7(我们的实体 nuget 所需的净标准兼容性)
- 实体 dll(网络标准 2.0 nuget)
这个定义工作正常,直到“System.ComponentModel.DataAnnotations”被“System.ComponentModel.Annotations”取代。
有什么办法可以解决这个问题,还是应该改用实体核心,因为它支持点网标准?
提前致谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)