我有两个模拟人生和用户。用户与Sims具有1-M关系,即Sims在Sims中具有类型为Users的导航属性。它会自动在数据库的Sims表中创建一个foregin键Users_ID,这不是我的模型的一部分。
现在的问题是,我想获得与Sims相匹配的Sims,比如说Users_ID = 1,但是我无法访问在Sims表中创建的列。
我尝试过:
Users user = new Users();
user.Name = "Hunain";
int id = UsersPhonesDBContext.Users.Where(u => u.Name == "Hunain").FirstOrDefault().ID;
Sims Sims1 = new Sims { Code = "Code0+ " + user.Name };
Sims Sims2 = new Sims { Code = "Code0+ " + user.Name };
UsersPhonesDBContext.Sims.Add(Sims1);
UsersPhonesDBContext.Sims.Add(Sims2);
int r = UsersPhonesDBContext.SaveChanges();
这有效,但它将users_id在数据库中保存为null。
型号:
Sims:
public class Sims
{
public int ID { get; set; }
public string Code { get; set; }
}
用户:
public class Users
{
public int ID { get; set; }
public string Name { get; set; }
public List<Phones> Phones { get; set; }
public List<Sims> Sims { get; set; }
}
该怎么办?
更新:
我的问题有所不同,而且被标记为重复项的解决方案已经过时,可能不适用于当前版本。