Sql server 如何检索在SQL Server中自动创建的主键字段
我试图在两个表中创建一个记录,Sql server 如何检索在SQL Server中自动创建的主键字段,sql-server,asp.net-mvc,entity-framework,Sql Server,Asp.net Mvc,Entity Framework,我试图在两个表中创建一个记录,Communities和CommunityTeams。其中每一个都有一个主键ID,该主键在SQL Server中设置为Identity 1.1。现在,我想在社区团队中捕获社区的密钥作为外键,但我无法知道该ID是什么 以下是我在ASP.NET MVC和实体框架中的代码: if (ModelState.IsValid) { // Community Info model.CommunityType = Convert.ToInt32(fc["commun
Communities
和CommunityTeams
。其中每一个都有一个主键ID
,该主键在SQL Server中设置为Identity 1.1
。现在,我想在社区团队
中捕获社区
的密钥作为外键,但我无法知道该ID
是什么
以下是我在ASP.NET MVC和实体框架中的代码:
if (ModelState.IsValid)
{
// Community Info
model.CommunityType = Convert.ToInt32(fc["communityType"]);
model.ComunityName = fc["communityName"];
model.CommunityCity = fc["communityCity"];
model.CommunityState = fc["communityState"];
model.CommunityCounty = fc["communityCounty"];
model.Population = Convert.ToInt32(fc["communityPop"]);
// Save to Database
model.Active = true;
model.DateCreated = DateTime.Now;
model.CreatedBy = User.Identity.Name;
model.Application_Complete = true;
model.Application_Date = DateTime.Now;
model.Payment_Complete = true;
model.Payment_Date = DateTime.Now;
model.Renewal = true;
model.Renewal_Date = DateTime.Now;
team.TeamLeader = true;
team.Admin = true;
var user = User.Identity.Name;
team.UserName = user.ToString();
team.CommunityId = 1;
db.CommunityTeams.Add(team);
db.Communities.Add(model);
db.SaveChanges();
return RedirectToAction("Index", "Habitats");
}
我承认您在您的
CommunityTeam
实体中拥有指向Community
的导航属性
替换team.CommunityId=1
byteam.Community=model代码>。然后简单地添加团队实体,EF将创建model
和team
db.CommunityTeams.Add(team);
db.SaveChanges();
您还可以通过调用db.SaveChanges()将save拆分为两部分代码>在两个之间添加调用。
第一次保存将创建社区
实体,EF将自动填充您的主键,以便您可以在团队
实体中使用它进行第二次保存。能否显示实体模型(社区
和社区团队
)?它们中至少有一个应该具有导航属性,因此至少要说明社区
是否具有ICollection您指的是外键约束,而不是属性。类似于Community
类中的public-ICollection-Teams{get;set;}
或Community-Community-Community{get;set;}
类中的public-Community-Community-Community{get;set;}
之类的内容。这里有可能的答案吗?拉迪斯拉夫·姆恩卡的回答?我没有这两个答案。。。为了清楚起见,我正在尝试同时创建一个社区记录和一个社区团队记录,但我正在尝试在社区团队中填充社区ID记录,这在创建社区ID记录之前是未知的。因此,一旦我完成初始保存并创建社区记录。。。如何检索CommunityId字段以填充CommunityTeamEF将用新创建的ID自动填充主键。