• 小白学习做项目(1)_使用EntityFramework实现Code First设计数据库(1)


       这是我技术小白第一次写博客,内心真实上下(忐忑)不安啊。

    在这里我不在讨论Code First和Database First的孰优孰劣(其实我也说不出个所以然来)。我只觉得,应该根据项目的规模、业务复杂度以及以及公司技术人员的水平来选择合适的技术。

    书归正传,我先给出我参考的文章地址:

    园子中刘兄的学习笔记

    微软的MSDN

    我的demo是一个微小的blog:

    无论什么网站肯定会有用户,既然如此我们就先创建用户表

        public class User
        {
            public int UserID { get; set; }
            public string Nick { get; set; }
            public string Address { get; set; }
            public string LoginName { get; set; }
            public string Password { get; set; }
            public string PhoneNumber { get; set; }
            public string Email { get; set; }
        }
    User

     表已经创建完成了,我们如何映射到数据库呢?

    很显然,我们要利用EntityFramework这个ORM框架来实现

    首先创建EntityFramework上下文BlogContext继承于

        public class BlogContext : DbContext
        {
            public BlogContext()
                : base("name=Blog")
            { }
            public DbSet<User> Users { get; set; }
        }
    BlogContext

    BlogContext构造函数继承父类base("name=Blog")方法是用来配置数据库连接字符串的,想必大家不陌生,忘记的同学可以参考此百度连接:

    http://jingyan.baidu.com/article/948f5924352f06d80ff5f9e8.html(其实我也忘记了(-__-)b)

    接下来在测试项目中添加数据运行new BlogContext().SaveChanges();即可。

        [TestClass]
        public class Test
        {
            [TestMethod]
            public void MyTest()
            {
                var blogContext = new BlogContext();
                var user = new User() { UserID = 1, LoginName = "53523113", Password = "53523113" };
                blogContext.Users.Add(user);
                var rr = blogContext.SaveChanges();
                //new BlogContext().SaveChanges()
            }
        }
    Test

    在这里我们要了解一下Entity Framework Code First中的映射习惯

    1. 数据库映射:Code First 映射到数据库的名称由连接字符串中(Initial Catalog=XYY.Blog)来管理。

    2.表映射:Code First 默认会按照类型名复数建立数据表,比如说User类对应的表名就叫Users,后边会介绍如何改变默认的表名。

    3.列映射:Code First 默认会按照类中的属性名建立column,它还有默认的数据类型映射习惯,int会映射为int,string会映射为nvarchar(max),decimal会映射为decimal(18,2)。后边会介绍如何更改column的名称,类型以及其他特性。

    4.主键映射:Code First 默认会在类的属性中需找名字为Id或类型名称+Id的int类型的属性作为主键,并且是自增字段。当然这些也是可以改的。

         今天就到这里吧,我们下期再见

  • 相关阅读:
    hdu 2612 Find a way(BFS)
    Anaconda(miniconda)安装及使用--转
    分布式定时任务调度系统技术选型--转
    hbase windows安装
    js函数前加分号和感叹号是什么意思?有什么用?
    纯JS实现房贷利率报表对比
    横向排列两个多个div盒子的方法(CSS浮动清除float-clear/inline)/办法
    DIV设置浮动float以后下一个DIV要换行的方法
    DIV横向排列_CSS如何让多个div盒子并排同行显示
    查看.Net Framework版本号
  • 原文地址:https://www.cnblogs.com/zk3113/p/4927522.html
Copyright © 2020-2023  润新知