我有Document
表DocumentID
(PK)& DocumentName
列。 另一個表Connector_Document
與ConnectorID
(PK),DocumentID
(FK)&其他一些列。將列表插入多個具有外鍵關係的表中實體框架
我有一個List<Document>
& ConnectorId
作爲輸入。我要救List<Document>
在Document
表,在表Connector_Document
得到所有這些& DocumentID
保存與所提供的connectorID
&獲取DocumentId
。
有了以下輸入
List<Document> documents = new List<Document>{new Document{ DocumentName ="test1"},
new Document{DocumentName ="test2"}};
int connectorId = 5
我的輸出應該是:
文件表
DocumentID DocumentName
-----------------------------
10 test1
11 test2
Connector_Document
表:
ConnectorID DocumentID
5 10
5 11
我知道I C通過List循環,在文檔表中添加獲取它的PK &使用相同的插入Connector_Document表。但是,我不認爲這是我期望的某種方式應該由EF爲此提供的有效方式。有人幫助我。
using (Entities context = new Entities())
{
using (var dbContextTransaction = context.Database.BeginTransaction())
{
context.Documents.Add(document);
context.SaveChanges();
if (connectorDocument != null)
{
connectorDocument.DocumentID = document.DocumentID;
context.Connector_Document.Add(connectorDocument);
context.SaveChanges();
}
dbContextTransaction.Commit();
}
}
我使用實體框架6.