gpt4 book ai didi

c# - 不能链接两个表;数据库; Entity Framework C#

转载 作者:行者123 更新时间:2023-11-30 22:43:44 25 4
gpt4 key购买 nike

我有 3 个表:“userDetails”、“address”和“country”。 "UserDetails"和 "address"是 1 到 0..1 的关系,"country"和 "address"是 1 到多的关系,"country"表已经填充,"userDetails"有 1 条随机记录。

现在,当我想在地址中添加随机记录时,我需要在“userDetails”和“country”上有一个链接。我将 userDetails 记录上的链接作为参数发送到我的 createAddress 方法,这样我就可以获取他的 ID,EF 会自动将该记录添加到虚拟外键字段。

但是我怎样才能从“国家”获得随机记录呢?我可以获得随机 ID,但 EF 不会添加使用该 ID 记录的国家/地区。正如您在屏幕截图中看到的,userDetails 字段已填充,country fied 为空。

    private address createAddress(userdetails userDetails)
{
address newAddress = new address();
newAddress.addressLine = getRandomString(20);
newAddress.city = getRandomString(10);
newAddress.postalCode = getRandomInt(6);
newAddress.idaddress = userDetails.iduserDetails;
newAddress.countryId = randomizer.Next(1,196);
//newAddress.country = (country)(from a in db.country where a.idcountry == newAddress.countryId select a);
db.address.Add(newAddress);
db.SaveChanges();
return newAddress;
}

enter image description here

这是这些表的模型,如果它可以帮助您理解我的问题。 enter image description here

最佳答案

你有没有检查记录是否保存在数据库中? newAdress 只是一个对象,我认为您不应该期望它会在您设置字段 countryId 时更新字段 country。

关于c# - 不能链接两个表;数据库; Entity Framework C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30273828/

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