C# 在实体框架中使用代码优先样式建模?
我对实体框架还很陌生,想创建一本(个人)快速参考手册。它的目标是给自己一些非常简短的C# 在实体框架中使用代码优先样式建模?,c#,entity-framework,ef-code-first,cardinality,C#,Entity Framework,Ef Code First,Cardinality,我对实体框架还很陌生,想创建一本(个人)快速参考手册。它的目标是给自己一些非常简短的code-first示例,这些示例具有不同的基数: 一对一 一对多 多对多 以下是我迄今为止所做的工作: 首先,我非常清楚,在这个特定的主题上有好几条线索(我读了很多,很多都有令人困惑的相反的陈述)。 其次,我只对[Data Annotation]-风格感兴趣(而不是对任何一种流畅的API!) 许多来源让我困惑,但我的问题很简单:是否真的有必要使用[System.ComponentModel.DataAnno
code-first
示例,这些示例具有不同的基数:
一对一
一对多
多对多
[Data Annotation]
-风格感兴趣(而不是对任何一种流畅的API!)
许多来源让我困惑,但我的问题很简单:是否真的有必要使用[System.ComponentModel.DataAnnotations.Schema.ForeignKey]
-属性(我的一对多
和多对多
代码示例)
编辑1:为我提供了一个模型,我根据从找到的信息中了解到的情况更新了模型(一对一):
我应该在
[ForeignKey(“”)
中使用与我的虚拟财产公共虚拟锁{get;set;}
中相同的字符串吗?即。=
?您的1-1示例不准确-从技术上讲,NLocker
s可以引用单个Student
,而NStudent
s可以引用单个Locker
,但EF将抛出一个InvalidOperationException
,并显示消息“无法确定关联的主端”
使用共享主键强制1-1关系(将PK字段的属性同时指定为[key]
和[ForeignKey(“”)
更多关于这个话题的阅读