设为首页 加入收藏

TOP

Entity Framework学习之创建Entity Framework数据模型(六)
2015-07-20 17:52:13 来源: 作者: 【 】 浏览:16
Tags:Entity Framework 习之 创建 数据 模型
rstMidName="Carson",LastName="Alexander",EnrollmentDate=DateTime.Parse("2005-09-01")}, new Student{FirstMidName="Meredith",LastName="Alonso",EnrollmentDate=DateTime.Parse("2002-09-01")}, new Student{FirstMidName="Arturo",LastName="Anand",EnrollmentDate=DateTime.Parse("2003-09-01")}, new Student{FirstMidName="Gytis",LastName="Barzdukas",EnrollmentDate=DateTime.Parse("2002-09-01")}, new Student{FirstMidName="Yan",LastName="Li",EnrollmentDate=DateTime.Parse("2002-09-01")}, new Student{FirstMidName="Peggy",LastName="Justice",EnrollmentDate=DateTime.Parse("2001-09-01")}, new Student{FirstMidName="Laura",LastName="Norman",EnrollmentDate=DateTime.Parse("2003-09-01")}, new Student{FirstMidName="Nino",LastName="Olivetto",EnrollmentDate=DateTime.Parse("2005-09-01")} }; students.ForEach(s => context.Students.Add(s)); context.SaveChanges(); var courses = new List { new Course{CourseID=1050,Title="Chemistry",Credits=3,}, new Course{CourseID=4022,Title="Microeconomics",Credits=3,}, new Course{CourseID=4041,Title="Macroeconomics",Credits=3,}, new Course{CourseID=1045,Title="Calculus",Credits=4,}, new Course{CourseID=3141,Title="Trigonometry",Credits=4,}, new Course{CourseID=2021,Title="Composition",Credits=3,}, new Course{CourseID=2042,Title="Literature",Credits=4,} }; courses.ForEach(s => context.Courses.Add(s)); context.SaveChanges(); var enrollments = new List { new Enrollment{StudentID=1,CourseID=1050,Grade=Grade.A}, new Enrollment{StudentID=1,CourseID=4022,Grade=Grade.C}, new Enrollment{StudentID=1,CourseID=4041,Grade=Grade.B}, new Enrollment{StudentID=2,CourseID=1045,Grade=Grade.B}, new Enrollment{StudentID=2,CourseID=3141,Grade=Grade.F}, new Enrollment{StudentID=2,CourseID=2021,Grade=Grade.F}, new Enrollment{StudentID=3,CourseID=1050}, new Enrollment{StudentID=4,CourseID=1050,}, new Enrollment{StudentID=4,CourseID=4022,Grade=Grade.F}, new Enrollment{StudentID=5,CourseID=4041,Grade=Grade.C}, new Enrollment{StudentID=6,CourseID=1045}, new Enrollment{StudentID=7,CourseID=3141,Grade=Grade.A}, }; enrollments.ForEach(s => context.Enrollments.Add(s)); context.SaveChanges(); } } } Seed方法将数据库上下文对象作为输入参数,并使用此对象将实体添加到数据库,对于每一个实体类型新建一个集合类型,并将它们添加到相应的DbSet。这里并不需要在每一个集合后使用SaveChanges 方法,但这样做的好处是能在数据发生异常时快速定位问题所在。为了能够使用自己定义的SchoolInitializer类,需要在web.config的entityFramework 节点下加入以下代码:

  
    
    
      
       
        
       
     
    
      
       
        
       
     
    
      
       
     
  
    

context 的Type属性指定了数据库上下文类名和它所的在程序集。databaseInitializer的Type属性指定了初始化类的名称和它所在的程序集。(如果你不想EF使用初始化程序,你可以设置disableDatabaseInitialization="true")。

作为另一种替代方法,你可以通过在Global.asax.cs中的Application_Start方法中添加Database.SetInitializer语句来实现同样的功能。

现在应用程序已经被设置为在应用程序第一次运行时,对模型和数据库结构进行比较,如果有区别,应用程序会删除并重新创建该数据库。

注意:当你将应用程序部署到生产环境中时,你必须删除或禁用删除并重新创建数据库的那些代码。

9.设置Entity Framework使用SQL Server Express LocalDB数据库

LocalDB是一个轻量级的SQL Server Express数据库引擎,它容易安装和配置, 并在用户模式下运行。LocalDB运行在一个特殊的执行模式并允许你直接使用数据库的.mdf文件,你可以把LocalDB 数据库复制到web项目的App_Data文件夹中。SQL Server Express的用户实例功能同样允许你直接使用.mdf文件,但是用户实例功能已经不赞成使用了。如果你使用的是isual Studio 2012或更高的版本,LocalDB默认已经被安装。

通常不建议在生产环境中使用SQL Server Express,因为它并不是为IIS而设计的。

打开应用程序的web.config文件(请确保此web.config文件是位于项目根目录下的文件,因为Views 目录下也有一个同样的文件),添加connectionStrings,代码

首页 上一页 3 4 5 6 下一页 尾页 6/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇POJ 1840 Eqs(hash) 下一篇hdu 4960 Another OCD Patient(记..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C++ 语言社区-CSDN社 (2025-12-24 17:48:24)
·CSDN问答专区社区-CS (2025-12-24 17:48:22)
·C++中`a = b = c`与` (2025-12-24 17:48:19)
·C语言结构体怎么直接 (2025-12-24 17:19:44)
·为什么指针作为c语言 (2025-12-24 17:19:41)