我有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.