我有一个供应商模型,我有一个新闻项目模型。我可以使我的供应商模型在我的新闻项目模型中是可选的吗?
在其他words...the中,新闻模型是一个类,它将转换为我的mvc项目中的一个视图。此视图将成为创建新闻项目的表单。我们想要将供应商与特定新闻项关联的选项(新闻项是关于供应商的,从下拉列表中选择供应商),但我们希望这是可选的。
如果我将Vendor设置为News item的导航属性,这是否意味着需要一个供应商?我该如何做到这一点呢?
谢谢你的建议。
发布于 2011-08-09 02:02:20
您的关系必须是可空的,并且可以在DbContext类的OnModelCreating事件中设置此关系。这里有一个类似的问题。
发布于 2011-08-09 02:09:45
在EF 4.1中,在这样的类中...
public class News
{
public int NewsId { get; set; }
public Vendor Vendor { get; set; }
}..。供应商将是的可选导航属性(允许使用Vendor = null)。EF将假定数据库中有一个可以为空的外键列。
如果你想在模型中公开一个外键,你必须确保FK属性是可空的,这样才能有一个可选的关系:
public class News
{
public int NewsId { get; set; }
public int? VendorId { get; set; }
public Vendor Vendor { get; set; }
}使用不可为空的外键属性(public int VendorId { get; set; }),EF将假定required导航属性。
除了这些默认设置之外,您还可以使用数据注释或在Fluent API中自定义关系。
当您在Visual Studio中的模型设计器中工作时,可以选择将关系末端的多重性设置为分别表示可选或必需属性的0...1或1。
https://stackoverflow.com/questions/6986300
复制相似问题