欢迎来到【一个大西瓜】的博客

不曾为梦想奋斗,拿什么去燃烧青春。有梦之人亦终将老去,但少年心气如昨。
太阳每一个时刻都同时是夕阳和朝阳,每天她沉入西边,意味着她同时从另一面土地升起。
扩大
缩小

关于EF的三种分类----CodeFirst

新建StudentInfo.cs

复制代码
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CodeFirstDemo
{
    public class StudentInfo
    {
        [Key]
        public int Id { get; set; }
        [StringLength(32)]
        [Required]
        public string StuName { get; set; }
        [Required]
        public DateTime SubTime { get; set; }
        public virtual ClassInfo ClassInfo { get; set; }
    }
}
复制代码

这里的key是主键,stringlength是长度,required是必填项

 

新建CodeFirstDbContext.cs继承DbContext

复制代码
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration.Conventions;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CodeFirstDemo
{
    public class CodeFirstDbContext:DbContext
    {
        public CodeFirstDbContext()
            : base("name=constr") 
        {

        }
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        }
        public DbSet<ClassInfo> ClassInfo { get; set; }
        public DbSet<StudentInfo> StudentInfo { get; set; }
    }
}
复制代码

增加连接串

<connectionStrings>
    <add  name="constr" connectionString="server=192.168.1.184;uid=sa;pwd=123456;database=T9" providerName="System.Data.sqlClient" />
  </connectionStrings>

配置生成数据库

复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CodeFirstDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            CodeFirstDbContext db = new CodeFirstDbContext();
            //如果找不到数据库的话,就创建数据库
            db.Database.CreateIfNotExists();
            ClassInfo ClassInfo = new ClassInfo();
            ClassInfo.ClassName="0413班";
            ClassInfo.CreateTime=DateTime.Now;
            db.ClassInfo.Add(ClassInfo);
            db.SaveChanges();
            Console.ReadKey();
        }
    }
}
复制代码

搞定

posted on   一个大西瓜咚咚咚  阅读(423)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示