Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 实体导航属性问题_Entity Framework_Asp.net Mvc 3 - Fatal编程技术网

Entity framework 实体导航属性问题

Entity framework 实体导航属性问题,entity-framework,asp.net-mvc-3,Entity Framework,Asp.net Mvc 3,我有一个供应商模型,我有一个新闻项目模型。我可以在我的新闻项目模型中选择我的供应商模型吗 换句话说,新闻模型是一个类,它将转变为我的mvc项目中的一个视图。此视图将成为创建新闻项的窗体。我们需要将供应商与特定新闻项目关联的选项(新闻项目是关于供应商的,从下拉列表中选择供应商),但我们希望这是可选的 如果我将供应商设置为新闻项的导航属性,这不意味着需要供应商吗?我将如何做到这一点 感谢您提供的提示。您的关系必须为空,您可以在DbContext类中的OnModelCreating事件中设置此关系。这

我有一个供应商模型,我有一个新闻项目模型。我可以在我的新闻项目模型中选择我的供应商模型吗

换句话说,新闻模型是一个类,它将转变为我的mvc项目中的一个视图。此视图将成为创建新闻项的窗体。我们需要将供应商与特定新闻项目关联的选项(新闻项目是关于供应商的,从下拉列表中选择供应商),但我们希望这是可选的

如果我将供应商设置为新闻项的导航属性,这不意味着需要供应商吗?我将如何做到这一点


感谢您提供的提示。

您的关系必须为空,您可以在DbContext类中的OnModelCreating事件中设置此关系。这里有一个类似的问题


在EF 4.1中,在这样一个类中

public class News
{
    public int NewsId { get; set; }
    public Vendor Vendor { get; set; }
}
。。。供应商将是可选的导航属性(
Vendor=null
)。EF将假定数据库中有一个可为空的外键列

如果要在模型中公开外键,必须确保FK属性可为Null,以具有可选关系:

public class News
{
    public int NewsId { get; set; }
    public int? VendorId { get; set; }
    public Vendor Vendor { get; set; }
}
对于不可为空的外键属性(
public int VendorId{get;set;}
),EF将假定一个必需的导航属性

除了这些默认设置外,您还可以自定义与数据批注或Fluent API中的关系

在Visual Studio的模型设计器中工作时,可以选择将关系结尾的多重性设置为
0…1
1
,分别表示可选或必需的属性