繁体   English   中英

无法链接两个表; MySQL的; 实体框架C#

[英]Cannot link two tables; mysql; entity framework c#

我有3个表:“ userDetails”,“ address”和“ country”。 “ UserDetails”和“ address”之间存在1到0..1的关系,“ country”和“ address”之间存在1到许多的关系,“ country”表已被填充,“ userDetails”具有1条随机记录。

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

但是,如何从“国家”获得随机记录? 我可以得到随机编号,但EF不会添加带有该编号的国家。 如您在屏幕截图中所见,userDetails字段已填写,国家/地区字段为null。

  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; } 

在此处输入图片说明

如果可以帮助您了解我的问题,那么这里是这些表的模型。 在此处输入图片说明

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM