EF框架用法

来源:百度文库 编辑:神马文学网 时间:2024/04/28 12:31:08
编程小技巧:输入for,foreach,cw...然后按两次tab键能快速产生代码
EntityCollection的using指令是:using System.Data.Objects.DataClasses;
ObjectQuery的using指令是:using System.Data.Objects;
主表来映射时应该映射到外键表。
ObjectContext---DataAdapter
ObjectQuery-----Dataset
IQueryable list = context.DBItemList.OrderBy(p=>p.ItemValue);
//IQueryable可以用来进行数据筛选或其他运算
 static void Main(string[] args)
        {
            WanceMISEntities MISData = new WanceMISEntities();
            //ObjectQuery department_list = MISData.Department;//从主键表访问数据
            //foreach(Department department_Entity in department_list)
            //{
            //    Console.WriteLine("{0},{1}",department_Entity.DepartmentID,department_Entity.DepartmentName);
            //    EntityCollection departmentuser_list = department_Entity.DepartmentUser_1;
            //    departmentuser_list.Load();//加载外键数据
            //    foreach (DepartmentUser  departmentuser_Entity in departmentuser_list)
            //    {
            //        Console.WriteLine("{0},{1}",departmentuser_Entity.DepartmentUserID,departmentuser_Entity.DepartmentUserState);            //    }            //}
            //ObjectQuery departmentuser_list = MISData.DepartmentUser;//从外键表访问数据
            //foreach (DepartmentUser departmentuser_Entity in departmentuser_list)
            //{
            //    Console.WriteLine("{0},{1}",departmentuser_Entity.DepartmentUserID,departmentuser_Entity.DepartmentUserState);
            //    departmentuser_Entity.Department_1Reference.Load();
            //    Department department = departmentuser_Entity.Department_1;
            //    Console.WriteLine("{0},{1}",department.DepartmentID,department.DepartmentName);
            //}
            //var v = MISData.Department.First(s=>s.DepartmentID=="1");//删除主键
             //要删除主键时,要保证内存中对应的外键数据为空
            //v.DepartmentUser_1.Load();
            //if (v.DepartmentUser_1.Count != 0)
            //{
            //    List departmentuser = new List();
            //    foreach (var w in v.DepartmentUser_1)
            //    {
            //        departmentuser.Add(w);
            //    }
            //    foreach (var item in departmentuser)
            //    {
            //        MISData.DeleteObject(item);
            //    }
            //}
            //MISData.DeleteObject(v);
            //MISData.SaveChanges();
            //DepartmentUser departmentuser = new DepartmentUser();//直接插入外键数据
            //departmentuser.AccountID = "1";
            //departmentuser.DepartmentUserID = "1";
            //departmentuser.DepartmentUserState =1;
            //departmentuser.Department_1 = MISData.Department.First(s=>s.DepartmentID=="1");//要有主键信息
            //MISData.AddToDepartmentUser(departmentuser);
            //MISData.SaveChanges();
            //通过主键插入外键数据
            //var tab1 = MISData.Department.First(s=>s.DepartmentID=="1");
            //DepartmentUser tab2 = new DepartmentUser();
            //tab2.AccountID = "1";
            //tab2.DepartmentUserID = "1";
            //tab2.DepartmentUserState = 1;
            //tab1.DepartmentUser_1.Add(tab2);
            //MISData.SaveChanges();        }