2011-08-08 94 views
0

我有一个供应商模型,我有一个新闻项目模型。我可以使我的供应商模型在我的新闻项目模型中是可选的吗?实体导航属性问题

换句话说,... ...消息模型是会变成我的MVC项目的内部的视图类。这种观点将成为一种将创造新闻的形式。我们希望将供应商与特定新闻项目相关联(该新闻项目关于供应商,从下拉列表中选择供应商),但我们希望这是可选的。

如果我将Vendor设置为News项目的导航属性,是不是表示需要供应商?我怎么做到这一点?

感谢您的任何提示。

回答

1

在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会假设需要导航属性。

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

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

+0

感谢您的解释。我还在学习! – MissioDei