【发布时间】:2011-11-10 21:18:18
【问题描述】:
我的 ASP.Net 项目中有一个数据库实体模型
有两个foreignkeyconstructs,都是id之间的结构。
现在我正在尝试使用以下方法添加 100 个示例条目
IntraNetEntities entities = new IntraNetEntities();
if (entities.EmployeeList.Count() == 0)
{
using (entities)
{
for (int i = 0; i < 100; i++)
{
EmployeeList newEmployeeList = new EmployeeList()
{
department = "Standardabteilung",
mobile = i,
landline = 1 + i,
mail = "Standardemail",
position = "Standardfunktion",
shortcode = "abc",
lastname = "StandardNachname",
roomnumber = Convert.ToDouble(i),
firstname = "Standardvorname"
};
PrivateContact newPrivateContact = new PrivateContact()
{
city = "Standardstadt",
country = "deutscheland",
landline = i,
mail = "standardemail",
mobile = i * 2,
street = "standardstreet",
zip = i * 10,
EmployeeList = newEmployeeList
};
WorkContact newWorkContact = new WorkContact()
{
city = "Standardstadt",
country = "deutscheland",
landline = i * 9,
mobile = i * 12 / 8,
mail = "standardmail",
street = "standardstraße",
zip = i * 9,
EmployeeList = newEmployeeList
};
newEmployeeList.PrivateContact = newPrivateContact;
newEmployeeList.WorkContact = newWorkContact;
entities.AddToEmployeeList(newEmployeeList);
entities.AddToPrivateContact(newPrivateContact);
entities.AddToWorkContact(newWorkContact);
}
entities.saveChanges();
return true;
}
}
else
{
return false;
}
我的问题是,当此方法结束时,我的导航属性会消失! 它们在调试时看起来都很好,但仍然在用例中,但之后它们都为空,而我没有对这些值进行任何更改。
如何保留导航值?
谢谢
【问题讨论】:
-
我很清楚 - 你的意思是新的联系人和员工列表没有被持久化到数据库中吗?或者 newPrivateContact.EmployeeList 正在失去它的价值并变成空(如果这是你的意思,你如何在 using 之外访问 newPrivateContact ,因为它的范围在 using 本身之内)?还是别的什么?
-
我只是想保留导航属性。我的意思是 newPrivateContact.EmployeeList 和/或 newEmployeeList.PrivateContact 正在失去它们的价值!鉴于 newEmployeeList 和 newPrivateContact 都是在此 using 子句之后的新 using 子句中调用和选择的元素
标签: c# linq linq-to-entities