我有兩張桌子Documents和Groups. 我有一個名為的鏈接表DocumentsGroups,其中包含檔案和組 ID。
我想將資料插入DocumentsGroups. 我得到一個檔案 ID 串列和一個組 ID 并遍歷串列,如下所示:
// List<DocumentIds> obj;
// groupId = 1;
var group = this._database.Groups.Single(d => d.Id == groupId);
// Looping through all the documents
foreach(var doc in obj.DocumentsId)
{
var document = this._database.Documents.Single(d => d.Id == doc);
group.Documents.Add(document);
}
我首先找到具有注釋掉代碼的組 ID 的組物件。然后我遍歷檔案串列并獲取每個檔案的一個物件,然后使用它添加到鏈接表中,但最后一行出現錯誤
你呼叫的物件是空的
GroupDocuments是一個模型,其中包含我試圖添加到資料庫中的檔案的 ID,因此我從視圖中接收它。我在回圈時確實得到了一個檔案物件,我不知道這個錯誤是怎么來的。有誰知道解決方法?
uj5u.com熱心網友回復:
您必須在添加或創建串列之前包含檔案
var group = _database.Groups.Where(d => d.Id == groupId).Include(i=>i.Documents).FirstOrDefault();
if (group!=null)
{
if (group.Documents==null) group.Documents=new List<Document>();
// and only now you can start adding
foreach(var doc in obj.DocumentsId)
{
var document = _database.Documents.Where(d => d.Id == doc).Single();
group.Documents.Add(document);
}
_database.SaveChanges();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/452681.html
標籤:C# asp.net-mvc 林克
