
cobra
striver
-
个人空间
相册
- 性别:
- 来自:拼吾爱
- 积分:7097
- 帖子:7009
- 注册:
2007-04-09
|
回复:ADO.NET Entity Framework(2)建模
从主键表访问数据  Code
myContext context = new myContext();
ObjectQuery<tab1> tab1_List = context.tab1;
foreach (tab1 tab1_Entity in tab1_List)
{
Console.WriteLine("{0},{1}", tab1_Entity.a, tab1_Entity.b);
EntityCollection<tab2> tab2_List = tab1_Entity.Nvtab2;
tab2_List.Load(); //加载外键数据
foreach (tab2 tab2_Entity in tab2_List)
{
Console.WriteLine("{0},{1},{2}", tab2_Entity.ID,tab2_Entity.x,tab2_Entity.y);
}
}
lzm ,456 3 ,5 ,6 4 ,7 ,8 wxd ,123 1 ,1 ,2 2 ,3 ,4 从外键表访问数据  Code
myContext context = new myContext();
ObjectQuery<tab2> tab2_List = context.tab2;
foreach (tab2 tab2_Entity in tab2_List)
{
Console.WriteLine("{0},{1},{2}", tab2_Entity.ID, tab2_Entity.x, tab2_Entity.y);
tab2_Entity.NVtab1Reference.Load(); //加载主键数据
tab1 tab1 = tab2_Entity.NVtab1;
Console.WriteLine("{0},{1}", tab1.a, tab1.b);
}
1 ,1 ,2 wxd ,123 2 ,3 ,4 wxd ,123 3 ,5 ,6 lzm ,456 4 ,7 ,8 lzm ,456 删除主键  Code
myContext context = new myContext();
var v = context.tab1.First(p => p.a == "wxd");
// 要删除主键时,要保证内存中对应的外键数据为空
//v.Nvtab2.Load();
//if (v.Nvtab2.Count != 0)
//{
// List<tab2> list = new List<tab2>();
// foreach (var w in v.Nvtab2)
// {
// list.Add(w);
// }
// foreach (var ww in list)
// {
// context.DeleteObject(ww);
// }
//}
context.DeleteObject(v);
context.SaveChanges();
直接插入外键数据  Code
myContext context = new myContext();
tab2 tab2 = new tab2();
tab2.ID = "101";
tab2.x = "555";
tab2.y = "666";
tab2.Nvtab1 = context.tab1.First(p => p.a == "wxd"); //要有主键信息
context.AddTotab2(tab2);
context.SaveChanges();
通过主键插入外键数据  Code
myContext context = new myContext();
var tab1 = context.tab1.First(p => p.a == "wxd");
//第1条外键记录
tab2 r1 = new tab2();
r1.ID = "103";
r1.x = "r1";
r1.y = "r1";
tab1.Nvtab2.Add(r1);
//第2条外键记录
tab2 r2 = new tab2();
r2.ID = "104";
r2.x = "r1";
r2.y = "r1";
tab1.Nvtab2.Add(r2);
context.SaveChanges();
[(1)—(1)]关联 1. [(1)—(1)]为主主关系,既两个表的主键关联 2. 两个表的地位是平等的 3. 主键字段不能删除 4. 可以在向导中直接跟据数据库中的关系直接生成,也可以在设计[概念模型]时任意添加 5. 关联可绑定到任意一个表上 6. 删除时,要先将关联数据删除 7. 插入时,要有与之关联的数据 表  附件: 您所在的用户组无法下载或查看附件设置  附件: 您所在的用户组无法下载或查看附件
|