asp.net – 实体框架CTP5,代码优先.可选的导航属性
发布时间:2020-05-22 12:16:13 所属栏目:asp.Net 来源:互联网
导读:我正在使用Entity Framework CTP5(代码优先),我有两个类: public class Order{ public int Id {get;set;} public decimal SomeOtherProperty1 {get;set;} //navigation property public virtual ICollectionOrderLi
|
我正在使用Entity Framework CTP5(代码优先),我有两个类: public class Order
{
public int Id {get;set;}
public decimal SomeOtherProperty1 {get;set;}
//navigation property
public virtual ICollection<OrderLine> OrderLines { get; set; }
}
和 public class OrderLine
{
public int Id {get;set;}
public int OrderId {get;set;}
public decimal SomeOtherProperty2 {get;set;}
//navigation property
public virtual Order Order { get; set; }
}
我有OrderLine类的以下配置类: public partial class OrderLineMap : EntityTypeConfiguration<OrderLine>
{
public OrderLineMap()
{
this.HasKey(ol=> ol.Id);
this.HasRequired(ol=> ol.Order)
.WithMany(o => o.OrderLines)
.HasForeignKey(ol=> ol.OrderId);
}
}
目前,如果您创建“OrderLine”实例,则必须指定“订单”实例. 问题:如何使ol.Order属性可选(在某些情况下为null)?可能吗? 解决方法OrderLine上现在需要Order的原因是因为您在流畅的API代码中使用了HasRequired()来配置关联.我们只需将其更改为HasOptional,如下面的代码所示:this.HasOptional(ol => ol.Order)
.WithMany(o => o.OrderLines)
.HasForeignKey(ol => ol.OrderId);
这将基本上使OrderLines.OrderId列成为DB中的(INT,NULL),以便OrderLine记录是独立的.我们还需要通过在OrderLine类上使OrderId为空来反映对象模型中的这种变化: public class OrderLine
{
public int Id { get; set; }
public int? OrderId { get; set; }
public decimal SomeOtherProperty2 { get; set; }
public virtual Order Order { get; set; }
}
现在,您可以保存OrderLines而无需为它们指定订单. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 保护Web服务
- asp.net-mvc – MVC控制器操作参数为null
- asp.net – 指定的CGI应用程序遇到错误,服务器终止进程
- ASP.NET core Web中使用appsettings.json配置文件的方法
- asp.net – 通配符HttpHandler不处理静态文件
- ASP.Net中的图形(c#)
- asp.net-mvc – asp.net mvc 4将表单从站点发送到电子邮件
- asp.net – 我可以在URL中使用逗号吗?
- asp.net-mvc – ASP.NET MVC强类型部分视图,无法加载类型错
- asp.net-mvc – MVC 4 Ajax.beginform提交 – 导致完全回发
推荐文章
站长推荐
- asp.net – WebFormsMVP的缺点?
- asp.net-core – 对Post请求的两次调用:使用htt
- asp.net-mvc-3 – 将原始html转储到Telerik网格
- asp.net-mvc – 禁用为特定提交按钮启用不显眼的
- asp.net-mvc – ASP.NET MVC的生产力?
- ASP.Net的最佳免费文件管理器
- .net – Control.ResolveUrl与Control.ResolveCl
- asp.net-mvc-3 – ASP.NET MVC 3本地化验证消息在
- asp.net – 如何创建一个HTML Helper来扩展TextB
- asp.net-mvc – HandleErrorAttribute无法正常工
热点阅读
