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