C# EF框架的入门使用

如何构建数据模型

  • 新建项

  • ADO.NET 实体模型

  • 设置链接

链接字符串需要选择“是,包含敏感数据

  • 注意:EF的框架引用的表应该要存在主键,程序引用中要包含
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure;
    

demo演示

  • 数据库建立一个表,(先建立表,再添加上面的数据模型)

    CREATE TABLE [dbo].[Test_EF](
        [id] [int] IDENTITY(1,1) NOT NULL,
        [username] [varchar](20) NULL,
        [passwd] [varchar](100) NULL,
        [addr] [varchar](128) NULL,
        [date_dl] [varchar](50) NULL,
        PRIMARY KEY CLUSTERED 
        (
            [id] ASC
        )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
        ) ON [PRIMARY]
        GO
    
  • 建立表之后,再添加数据模型,会生成相关文件

  • 之后可以进行相关的增删查改的操作,如下

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure;
    
    namespace EF_demo
    {
        class Program
        {
            static void Main(string[] args)
            {
                using (var data = new TESTEntities()) // 这个数据模型为链接时的名字,不要= new Test_EF()
                {
                    // 单个添加
                    //var new_person = new Test_EF() // 该Test_EF 是数据表的名字
                    //{
                    //    username = "小狗",
                    //    passwd = "123",
                    //    addr = "泸州",
                    //    date_dl = DateTime.Now.ToString()
                    //};
                    //data.Test_EF.Add(new_person);
                    //或者使用这种方式添加data.Entry(new_person).State = System.Data.EntityState.Added;
                    //data.SaveChanges();
    
                    //修改数据
    
                    //var alter_person = new Test_EF()
                    //{
                    //    id=3,
                    //    username = "小DD",
                    //    addr = "上海"
                    //};
                    //data.Entry(alter_person).State = System.Data.EntityState.Modified;
                    ////data.Test_EF.Attach(alter_person);
                    //data.SaveChanges();
    
                    //查询数据
                    //精确查询
                    //DbQuery<Test_EF> address = data.Test_EF.Where(p => p.addr == "上海") as DbQuery<Test_EF>;
                    //模糊查询
                    IQueryable<Test_EF> infos = data.Test_EF.Where(p => p.username.Contains("小"));
                    //Test_EF info = address.FirstOrDefault();
                    //Console.WriteLine(info.username + " - " + info.addr);
                    foreach (Test_EF info in infos)
                    {
                        Console.WriteLine(info.username + " - " + info.addr);
                    }
                    Console.ReadKey();
                }
            }
        }
    }
    
    
posted @ 2023-02-12 10:43  李家的张麻子  阅读(943)  评论(0)    收藏  举报