我有多个表有1:1的关系
我需要将字段分隔到另一个表,因为其中一些很少使用。 “主”表的主键是自动编号(SQL Server中的标识)
现在我需要使用Entity Framework
从XML插入多个记录XDocument xDoc = XDocument.Load(Server.MapPath("~/xml/xmlFile.xml"));
List<MainTable> allListings = xDoc.Descendants("listing")
.Select(listing => new MainTable
{
listingCategory = listing.Element("listCategory").Value,
listingStatus = listing.Element("listStatus").Value
}).ToList();
using (DemoEntities db = new DemoEntities())
{
foreach (var i in allListings)
{
db.Main.Add(i);
}
db.SaveChanges();
}
以下代码是不可能的,因为我需要SQL Server自动将[id]字段分配给[MainTable]。
List<SecondTable> allListingsTableTwo = xDoc.Descendants("listing")
.Select(listing => new SecondTable
{
anotherField = listing.Element("fieldfromXML").Value
}).ToList();
foreach (var i in allListingsTableTwo)
{
db.SecondTable.Add(i);
}
答案 0 :(得分:0)
您可以通过以下方式获取主键:
db.Main.Add(i);
context.SaveChanges();
int id = i.Id; // Yes it's here