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
by
team.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自动填充主键。