C# 实体框架正在尝试将外键表与实体保存一起保存。如何预防?

C# 实体框架正在尝试将外键表与实体保存一起保存。如何预防?,c#,entity-framework-4.1,C#,Entity Framework 4.1,当我保存belwo CounterpartyFrequency实体(如下所示)时,它试图添加附加的法律效力。我怎样才能防止这种情况。我只需要使用CounterpartyFrequencyId和LegalEntityId插入counterpartyfrequency表。请分享你的想法 [DataContract] public class CounterpartyFrequency : EntityBase { [DataMember] [Key]

当我保存belwo CounterpartyFrequency实体(如下所示)时,它试图添加附加的法律效力。我怎样才能防止这种情况。我只需要使用CounterpartyFrequencyId和LegalEntityId插入counterpartyfrequency表。请分享你的想法

[DataContract]
    public class CounterpartyFrequency : EntityBase
    {
        [DataMember]
        [Key]
        public int CounterpartyFrequencyId { get; set; }

        [DataMember]
        public string LegalEntityId { get; set; }

        [DataMember]
        [ForeignKey("LegalEntityId")]
        public LegalEntity LegalEntity { get; set; }
   }
我要保存的实体在上面

using (var dbContext = ConfigurationContext.CreateContext(dbConnection))
                    {
                        foreach (var counterpartyFrequency in counterpartyFrequencies)
                        {


                            if (
                                dbContext.CounterpartyFrequencies.Any(
                                    (x) => x.CounterpartyFrequencyId == counterpartyFrequency.CounterpartyFrequencyId))
                            {
                                dbContext.CounterpartyFrequencies.Attach(counterpartyFrequency);
                            }
                            else
                            {
                               dbContext.CounterpartyFrequencies.Add(counterpartyFrequency);
                            }
                        }

                       var noc =  dbContext.SaveChanges();
                    }

您需要将法律性设置为虚拟:

[DataContract]
public class CounterpartyFrequency : EntityBase
{
    [DataMember]
    [Key]
    public int CounterpartyFrequencyId { get; set; }

    [DataMember]
    public string LegalEntityId { get; set; }

    [ForeignKey("LegalEntityId")]
    public virtual LegalEntity LegalEntity { get; set; }
}

但仍然给出了错误“System.Data.Entity.Infrastructure.DbUpdateException:更新条目时出错。有关详细信息,请参见内部异常。-->System.Data.UpdateException:更新条目时出错。有关详细信息,请参见内部异常。-->System.Data.SqlClient.SqlException:无法将值NULL插入到“IsAffiliate”列、表“common.LegalEntity”中;列不允许空值。INSERT失败。“谢谢,我将法律属性设置为虚拟,当传递null时,问题得到解决