我对Entity Framework如何识别实体之间的关系感到非常困惑。以下是我的一些问题:
在一个简单的测试应用程序中,我有一个人员表、一个笔记表和一个图片资产表。
1.有许多图片,每张图片都由一个人拥有(一个人可以拥有多张)。
2.有许多笔记,每个笔记都由一个人拥有(一个人可以拥有多个)。
3.最后,一个人有一个标志,它是一张图片。
当我尝试运行时,出现错误“无法确定类型之间关联的主要端点...”。
(如果我删除Person.logo字段,编译/运行,然后手动将其添加到SQL中,并建立FK关系,它会按预期100%工作... 我只是无法弄清如何从EF本身设置此项)。
你能帮忙解决这个错误吗?我在这里读了很多答案,但是我似乎无法调整它来修复我的错误。
然而,现在我有一个一对多和多对一(我不认为这被归类为多对多?),我只是不明白如何创建人员对象,在那里FK是非空的,而FK还不存在。
我找到的一个解决方案,我真的不喜欢,就是使person.picture列可为空,然后创建一个人,接着创建一个图片,然后将图片分配给人员对象... 但是,理想情况下,我不想让它可为空。应该始终有一张图片。
在一个简单的测试应用程序中,我有一个人员表、一个笔记表和一个图片资产表。
1.有许多图片,每张图片都由一个人拥有(一个人可以拥有多张)。
2.有许多笔记,每个笔记都由一个人拥有(一个人可以拥有多个)。
3.最后,一个人有一个标志,它是一张图片。
public class Person
{
public int ID { get; set; }
public string name { get; set; }
public Picture logo { get; set; }
}
public class Note
{
public int ID { get; set; }
public string Text { get; set; }
public Person Owner { get; set; }
}
public class Picture
{
public int ID { get; set; }
public string Path { get; set; }
public Person Owner { get; set; }
}
当我尝试运行时,出现错误“无法确定类型之间关联的主要端点...”。
(如果我删除Person.logo字段,编译/运行,然后手动将其添加到SQL中,并建立FK关系,它会按预期100%工作... 我只是无法弄清如何从EF本身设置此项)。
你能帮忙解决这个错误吗?我在这里读了很多答案,但是我似乎无法调整它来修复我的错误。
然而,现在我有一个一对多和多对一(我不认为这被归类为多对多?),我只是不明白如何创建人员对象,在那里FK是非空的,而FK还不存在。
我找到的一个解决方案,我真的不喜欢,就是使person.picture列可为空,然后创建一个人,接着创建一个图片,然后将图片分配给人员对象... 但是,理想情况下,我不想让它可为空。应该始终有一张图片。
ICollection
似乎是自己进行惰性加载的。 - Tamara Wijsman