簡體   English   中英

EF - 對於已創建的實體:不能將值NULL插入列'Id',表'Languages'; 列不允許空值

[英]EF - For an already created entity: Cannot insert the value NULL into column 'Id', table 'Languages'; column does not allow nulls

我在嘗試插入新項目但是將其與已創建的(語言)記錄鏈接時收到該錯誤:

  var languageRepository = RepositoryFactory.CreateReadOnly<Language>();
  _defaultLanguage = languageRepository.FirstOrDefault(l => l.IsDefault);

  (...)

 newItem.Images = new List<Image>
                {
                    new Image
                    {
                          FileName = filename,
                          Language = _defaultLanguage
                    }
                };

在這種情況下, _defaultLanguage已經存在於數據庫中,然后我不知道為什么它試圖將其作為新記錄插入而不是僅鏈接到已存在的Id。

_defaultLanguage的內容:

在此輸入圖像描述

有什么想法可以幫忙嗎?

CreateReadOnly看起來很可疑。

嘗試將以下內容更改為正常提取。

var languageRepository = RepositoryFactory.CreateReadOnly<Language>();

我相信它是Detach(Untracked)提取的條目。

暫無
暫無

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

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