示例#1
0
文件: Program.cs 项目: yhhno/EF6Demo
        //添加单个Donator
        public static void CreateSingleDonator()
        {
            using (var context = new Context())
                //Context的实例用了using语句包装起来,这是因为DbContext实现了IDisposable接口。Dbcontext还包含了DbConnection的实例,该实例指向了具有特定连接字符串的数据库。在EF中合适地释放数据库连接和ADO.NET中同等重要
            {
                context.Database.CreateIfNotExists(); //如果数据库不存在则创建

                Donator donators = new Donator() {Name = "单个", Amount = 50, DonateDate = new DateTime(2016, 4, 7)};

                context.Donators.Add(donators);
                context.SaveChanges();

            }
        }
示例#2
0
文件: Program.cs 项目: yhhno/EF6Demo
        //多对多关系
        public static void ManyToMany()
        {
            using (var context = new Context())
            {
                var person = new Person
                {
                    Name = "比尔盖茨",
                };
                var person2 = new Person
                {
                    Name = "乔布斯",
                };
                context.Persons.Add(person);
                context.Persons.Add(person2);

                var company = new Company
                {
                    CompanyName = "微软",
                };
                company.Persons.Add(person);
                company.Persons.Add(person2);

                context.Companies.Add(company);
                context.SaveChanges();
            }
        }
示例#3
0
文件: Program.cs 项目: yhhno/EF6Demo
        //一对一关系
        public static void OneToOne()
        {
            using (var context = new Context())
            {
                var student = new Student
                {
                    CollegeName = "XX大学",
                    EnrollmentDateTime = DateTime.Parse("2016-7-6"),
                    Person = new Person
                    {
                        Name = "学生名",
                    }
                };

                context.Students.Add(student);
                context.SaveChanges();
            }

        }
示例#4
0
文件: Program.cs 项目: yhhno/EF6Demo
        //一对多关系, 主实体有查询属性
        public static void OnToManySelect()
        {
            using (var context = new Context())
            {
                var donatorType = new DonatorType()
                {
                    Name = "博客园园友",
                    Donators = new List<Donator>
                    {
                        new Donator
                        {
                            Amount=6,
                            Name="一对多关系,主实体有查询属性",
                            DonateDate=DateTime.Parse("2016-7-6"),
                            PayWays=new List<PayWay>
                            {
                                new PayWay{Name="支付宝" },
                                new PayWay{ Name="微信"}
                            }
                        }
                    }
                };



                var donatorType2 = new DonatorType
                {
                    Name = "非博客园园友",
                    Donators = new List<Donator>
                    {

                        new Donator
                        {
                            Amount = 10,
                            Name = "一对多关系",
                            DonateDate = DateTime.Parse("2016-4-27"),
                            PayWays = new List<PayWay> {new PayWay {Name = "支付宝"}, new PayWay {Name = "微信"}}
                        }

                    }
                };



                context.DonatorTypes.Add(donatorType);
                context.DonatorTypes.Add(donatorType2);
                context.SaveChanges();
            }
        }
示例#5
0
文件: Program.cs 项目: yhhno/EF6Demo
        //一对多关系, 自定义配置链接
        public static void OneToManyCustom()
        {
            using (var context = new Context())
            {
                var donator = new Donator
                {
                    Amount = 6,
                    Name = "一对多时,添加的捐赠者",
                    DonateDate = DateTime.Parse("2016-7-6")
                };

                donator.PayWays.Add(new PayWay { Name = "支付宝" });
                donator.PayWays.Add(new PayWay { Name = "微信" });
                context.Donators.Add(donator);
                context.SaveChanges();
            }
        }
示例#6
0
文件: Program.cs 项目: yhhno/EF6Demo
 //删除Donators
 public static void DeleteDonators()
 {
     using (var context = new Context())
     {
         var toBeDeletedDonator = context.Donators.Single(d => d.Name == "多个11已修改");//根据Name找到要删除的目标测试数据
         context.SaveChanges();//最后持久化到数据库
     }
 }
示例#7
0
文件: Program.cs 项目: yhhno/EF6Demo
 //更新Donator
 public static void UpdateDonators()
 {
     using (var context = new Context())
     {
         var donators = context.Donators;
         if (donators.Any())//any扩展方法来判断序列中是否由元素,
         {
             var toBeUpdatedDonator = donators.First(d => d.Name =="多个11");//然后使用First扩展方法来找到元素
             toBeUpdatedDonator.Name = "多个11已修改";//然后给目标对象的Name属性赋予新值,
             context.SaveChanges();//最后调用SaveChanges方法
         }
     }
 }