gpt4 book ai didi

entity-framework-4 - 我是否需要 .SaveChanges() 才能获得外键的 ID?

转载 作者:行者123 更新时间:2023-12-04 07:55:00 26 4
gpt4 key购买 nike

在下面的代码中,我正在保存一个新人,然后获取该人的 ID 以用作关联地址记录中的 FK。 PK 被定义为数据库中的标识列。我的问题是,我需要调用 dc.SaveChanges(); 吗?将人添加到对象集后?有什么办法可以避免访问数据库以获取 ID,然后将其作为 FK 传递给地址?我可以将两个 savechanges() 合并到一个操作中吗?

            PlaygroundEntities dc = new PlaygroundEntities();

Person person = new Person
{
FirstName = txtFirstName.Text,
LastName = txtLastName.Text
};

dc.People.AddObject(person);
dc.SaveChanges();

Address address = new Address
{
PeopleId = person.Id,
Address1 = txtAddress.Text,
City = txtCity.Text,
State = txtState.Text,
ZipCode = txtZipCode.Text
};

dc.Addresses.AddObject(address);
dc.SaveChanges();

最佳答案

只要 person.Id 是自动生成的键,就没有办法在没有查询的情况下检索 person.Id。但是,如果获取 person.Id 的目的只是为了创建地址,则不需要地址 person.Id,只需添加地址如下的人:

    Person person = new Person 
{
FirstName = txtFirstName.Text,
LastName = txtastName.Text,
Address = new Address
{
Address1=txtAddress.Text,
City=txtCity.Text,
State=txtState.Text,
ZipCode=txtZipCode.Text
}
}

dc.People.AddObject(person);
dc.SaveChanges();

就是这样。

关于entity-framework-4 - 我是否需要 .SaveChanges() 才能获得外键的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6741525/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com