加载中…
正文 字体大小:

MVC-实体模型:EF CodeFirst 和  根据现有数据库生成Models

(2013-07-29 16:15:26)
标签:

mvc

it

分类: MVC JQuery
Code-first
大概直译的意思就是,可以先有代码,EF来生成数据库相应的表。及直接写一个简单的类来创建模型对象,而不用考虑这个类的持久化。可以通过这个类来访问数据库。
步骤:
 1.添加一个Model:选择“添加”>“类”,在打开的对话框中输入类名“Book”,
using System;
namespace MvcHelloworld.Models
{
    publicclass Book
    {
        publicint BookID { get; set; }
        publicstring BookName { get; set; }
        publicstring Author { get; set; }
        publicstring Publisher { get; set; }
        publicdecimal Price { get; set; }
        publicstring Remark { get; set; }
    }
}
2.添加数据库上下文: 在Models文件夹下新建一个名为“BookDbContext”的类,BookDbContext代表EF中Book在数据库中的上下文对象,通过D币Set使实体与数据库联系起来。编辑这个类,将该类派生自“DbContext”类,编辑后的代码如下:
using System;
using System.Data.Entity;
namespace MvcHelloworld.Models
{
    publicclass BookDbContext : DbContext
    {
        public DbSet Books { get; set; }
    }
}
3.添加数据库连接:Web.config文件中,为它添加一个数据库连接字符串的配置:
<</span>connectionStrings>
<</span>add name="BookDbContext" connectionString=" Data Source=.\SQLEXPRESS;Initial Catalog=db_book;Persist Security Info=True;Integrated Security=SSPI;"providerName="System.Data.SqlClient"/>
</</span>connectionStrings>

至此,运行程序,执行关于Book的Create视图后,就可以在数据库中看到相应的数据库和book的表,以及数据。

根据现有数据库生成Models:
先在数据库中建一个Book库,有一张db_book表,字段可以和上面一样。
1.Models 鼠标右键,添加 à 新建项
2.选择 数据àADO.NET 实体数据模型。  取名 BookModel.edmx
3.选择数据库生成 à 下一步
4.新建连接
5.设置数据源为Microsoft SQL Servier à服务器名可以用 . 输入数据库名Book
6.确定连接有 :(注释:由于服务器不同,连接字符串可能不同),这是现实的“将Web.Config中的十天连接设置另存为”这个名字就是之后在调用数据库时使用的类名。然后点击下一步:
7.选择表 db_bookà 完成 (注释:可能还有其他表,但是我们暂时只选择db_book表做示例)
8.完成后,可以看到实体对象Book 

然后就在Models里生成了一个.edmx的实体数据模型文件和它相应的一个Designer.cs文件



但是用了第二种方法貌似就没有办法再用第一种方法添加实体了。。??或者是有方法但我还没找到。。。。。还在试验ing




0

阅读 评论 收藏 转载 喜欢 打印举报
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有