簡體   English   中英

實體框架正在嘗試將外鍵表與實體保存一起保存。 如何預防呢?

[英]Entity Framework is trying to save the Foreign key tables along with the entity save. How to prevent that?

當我按以下方式保存belwo CounterpartyFrequency實體時,其試圖添加附加到它的legalEntity。 我該如何預防。 我只需要將交易對手頻率表插入CounterCounterFrequencyId和LegalEntityId即可。 請分享您的想法

[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();
                    }

您需要將LegalEntity設置為虛擬的:

[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; }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM