没有合适的资源?快使用搜索试试~ 我知道了~
EF4.1_code_first学习教程
4星 · 超过85%的资源 需积分: 9 13 下载量 132 浏览量
2012-08-17
16:52:43
上传
评论 1
收藏 98KB DOC 举报
温馨提示
试读
11页
EF4.1_code_first学习教程,非常适合想学习MVC3 EF4.1_code_first的朋友
资源推荐
资源详情
资源评论
MVC3+EF4.1 学习系列(一)-------创建 EF4.1 code rst 的第一个实例
文章索引和简介
这次要做的是个学校管理的 demo(通俗些)
先建一个 MVC3 的应用程序&&因为我们是 code rst 所以&开始创建实体类
一.创建 Model
学生和学生成绩登记表是一对多的关系&&一个学生可以有多次登记&(因为有多个课程)&&一个课
程也可以有多个登记&&&可以看出&其实就是&学生和课程&存在一个多对多的关系
为什么这么建立模型呢?这节主要不是讨论关系&关系这个会放到&&第三节来讨论~~
现在开始创建学生的实体类
using System;
using System.Collections.Generic;
namespace ContosoUniversity.Models
{
public class Student
{
public int StudentID { get; set; }
public string LastName { get; set; }
public string FirstMidName { get; set; }
public DateTime EnrollmentDate { get; set; }
public virtual ICollection<Enrollment> Enrollments { get; set; }
}
}
在这里面&这个 StudentID 将被默认的设为主键&&EF 将会默认的给名字为 ID 的或者带 ID 的设
置为主键&
而 Enrollments 是一个导航属性&&将做为外键&&&&导航属性定义为 virtual 以便
于实现延迟加载&
接下来&创建登记录入表(关系表)的实体类&
using System;
using System.Collections.Generic;
namespace ContosoUniversity.Models
{
public class Enrollment
{
public int EnrollmentID { get; set; }
public int CourseID { get; set; }
public int StudentID { get; set; }
public decimal? Grade { get; set; }
public virtual Course Course { get; set; }
public virtual Student Student { get; set; }
}
}
这里面&我们的成绩是可空类型&&&&&学生实体有多个&Enrollment 而 Enrollment 有一个学生实
体的导航属性&这里面&我们既有学生 ID 又有学生实体属性&我们会担心&会不会生成两个呢
StudentID?不用担心&EF 很聪明&在关系表里&只有一个 studentID
接下来就是创建课程实体了
using System;
using System.Collections.Generic;
namespace ContosoUniversity.Models
{
public class Course
{
public int CourseID { get; set; }
public string Title { get; set; }
public int Credits { get; set; }
public virtual ICollection<Enrollment> Enrollments { get; set; }
}
}
OK 了&实体创建好了&接下来&我们要创建一个&数据库上下文
二.Creating the Database Context
这个类主要是把上面创建的实体类包含再里面&&指定哪些实体类包含在我们的数据模型中&还有&
这个类可以指定我们的映射关系&还可以指定一些生成的约束关系总之&很有用的
这里面&我们先创建一个 DAL 的文件夹&然后在下面新建一个类&叫做 SchoolContext 并且继承
DbContext
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.Entity;
using ContosoUniversity.Models;
using System.Data.Entity.ModelConfiguration.Conventions;
using System.Data.Entity.Infrastructure;
namespace ContosoUniversity.DAL
{
public class SchoolContext:DbContext
{
private readonly static string CONNECTION_STRING =
"name=WlfSys_EFCF_ConnString";
public DbSet<Student> Students { get; set; }
public DbSet<Enrollment> Enrollments { get; set; }
public DbSet<Course> Courses { get; set; }
public SchoolContext()
: base(CONNECTION_STRING)//不写这个 默认的就是 SchoolContext
{
}
剩余10页未读,继续阅读
资源评论
- lyhfr2013-05-02不错有点用
一个热爱java的程序员
- 粉丝: 1
- 资源: 68
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功