Entity Framework4.0 (三)概述(EF4 的Code First方法)

Code First 颠覆了前两种对数据库的操作,他可以抛开数据库不管,直接编写实体类以及类之间的对应关系,可以自动创建数据库(Model First只能创建表),提供了数据迁移功能,在修改表的情况下 如增加了表字段,可以直接同步到数据库中,非常的方便


1. 首先创建实体类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;

namespace HAO.Web.Entities
{
    public class Menu
    {
        [Key]
        public int ID { get; set; }
        [MaxLength(200)]
        public string menuname { get; set; }
        [MaxLength(300)]
        public string remark { get; set; }
        public int parentid { get; set; }
        public string isnode { get; set; }
        [MaxLength(200)]
        public string url { get; set; }
        public int orderid { get; set; } 
        public int isShow { get; set; } 
        public int location { get; set; }
    }
}

多了就不写了,大概就是这样子


2. 创建上下文类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Entity;
using HAO.Web.Entities; 

namespace HAO.Web.website.Models
{
    public class HawebEntities : DbContext
    {
       
        public DbSet<Menu> menus { get; set; }
        public DbSet<News_Class> newsClass { get; set; }
        public DbSet<News_Info> newsInfo { get; set; }
        public DbSet<Role> role { get; set; }
        public DbSet<User> user { get; set; }
        public DbSet<Test> test { get; set; }
    }
}


注意书写规范,我写的不太规范,变量应该是复数形式才对



3. 配置web.config数据库连接字符串

  <connectionStrings>
    <add name="HawebEntities" connectionString="Data Source=.\;Initial Catalog=haweb;Persist Security Info=True;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
  </connectionStrings>
这里要注意哦,name要与上下文类的名字一样,这样他才会识别,还有一种方法,如下

public HawebEntities()

    : base("name=defaultConnection"){}



4. 编译一下程序,运行后会发现数据库已创建好



5. 最后说一个我遇到的问题

我用的数据库是SQL Server 2008 R2,创建好之后总是提示数据库连接字符串不正确,修改了之后,又说dbo.User不存在,总之就是没有连上数据库,非常的郁闷 也没有找到对应的解决方法,一气之下把数据库卸载了,废了好大劲才重新装上(SQL Server 确实不容易重装),然后就好了,很是郁闷。如果大家遇到我这样的问题,请重装数据库,哈哈


推荐一个男装店铺,点击


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值