0

我对 Entity Framework 很陌生,想创建一个(个人)快速参考手册。它的目标是给自己一些code first具有不同基数的非常简短的例子:

  • one-to-one
  • one-to-many
  • many-to-many

以下是我到目前为止所做 在此处输入图像描述 的:首先,我非常清楚有几个关于这个特定主题的线程(我已经阅读了很多,很多都带有令人困惑的相反陈述)。其次,我只对[Data Annotation]-style 感兴趣(对任何流畅的 API 都不感兴趣!)。

那里的许多来源让我感到困惑,但只是为了让我的问题简短:是否真的有必要使用 -[System.ComponentModel.DataAnnotations.Schema.ForeignKey]属性(我的意思是在我的one-to-many代码many-to-many示例中)?

编辑 1: Moho为我提供了一个链接,我根据我从那里找到的信息中了解的信息更新了我的模型(一对一): 一对一

[ForeignKey("<nav prop1>")]我是否应该在我的虚拟财产名称中使用相同的字符串public virtual Locker <nav prop2> { get; set; }?IE。是<nav prop1> = <nav prop2>

4

1 回答 1

1

您的 1-1 示例不准确 - 从技术上讲 N Lockers 可以指的是 single Student,而 N Students 可以指的是 single Locker,但是 EF 会抛出一条InvalidOperationException带有消息“无法确定关联的主体端”的消息

使用共享主键来强制执行 1-1 关系(将 PK 字段与两者[Key][ForeignKey("<nav prop>")]

更多关于这个主题的阅读在这里

于 2013-10-22T15:14:53.560 回答