0
我有一个奇怪的问题与RIA服务。我的EF CodeFirst(v4.1)上下文中有两个实体,分别为Customer
和Address
,彼此之间的关系为1:1。RIA服务不更新空外键
public class Customer
{
[Key]
public int Id { get; set; }
// [...]
[Include, Association("Customer_BillingAddress", "BillingAddressId", "Id")]
public virtual Address BillingAddress { get; set; }
public int? BillingAddressId { get; set; }
}
public class Address
{
[Key]
public int Id { get; set; }
// [...]
}
我与模型构建器配置他们像这样:
modelBuilder.Entity<Customer>()
.HasOptional(p => p.BillingAddress)
.WithMany()
.HasForeignKey(x => x.BillingAddressId);
如
this blog article描述
。这一切就像一个魅力,但我想这样做在客户端上:
customer.BillingAddress = null;
customer.BillingAddressId = null;
RIA服务将不会更新ID,导致服务器上的外键约束的错误。我检查了导航属性和外键在保存时设置为null
。因此,看起来,RIA Services在设置为null
时没有跟踪该房产。我该如何解决这个问题?
编辑:我完全忘了:它在我的开发机器上工作,但不在部署。