C# efcore 控制台实例
public class DefaultDbContext : DbContext
{
public DefaultDbContext()
{
}
public DbSet<User> Users { set; get; }
public DbSet<UserDetail> UserDetails { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
string sqlConnection = "server=127.0.0.1;port=3306;user=root;password=123456;database=efcoredemo";
optionsBuilder.UseMySql(sqlConnection);
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.ApplyConfiguration<User>(new UserConfiguration());
modelBuilder.ApplyConfiguration<UserDetail>(new UserDetailConfiguration());
base.OnModelCreating(modelBuilder);
}
}
public class UserConfiguration : IEntityTypeConfiguration<User>
{
public UserConfiguration()
{
}
public void Configure(EntityTypeBuilder<User> builder)
{
builder.ToTable("user");
builder.HasIndex(q => q.IdCard).IsUnique();
builder.HasOne(q => q.UserDetail).WithOne(q=>q.User).HasForeignKey<User>(q => q.userDetailId);
}
}
public class UserDetailConfiguration : IEntityTypeConfiguration<UserDetail>
{
public UserDetailConfiguration()
{
}
public void Configure(EntityTypeBuilder<UserDetail> builder)
{
builder.ToTable("userdetail");
builder.Property(q => q.Work).HasMaxLength(500);
}
}
[Table("user")]
public class User
{
[Key]
public int Id { set; get; }
[Required]
public string IdCard { get; set; }
[Column("sex")]
public bool Sex { get; set; }
[Column("name")]
public string Name { set; get; }
[Column("createTime")]
public DateTime CreateTime { set; get; } = DateTime.Now;
[Column("modifyTime")]
public DateTime ModifyTime { set; get; } = DateTime.Now;
[Column("userDetailId")]
public int userDetailId { get; set; }
public UserDetail UserDetail { get; set; }
}
[Table("userdetail")]
public class UserDetail
{
[Key]
public int Id { get; set; }
[Column("email")]
[StringLength(50)]
public string Email { get; set; }
[Column("phone")]
[StringLength(20)]
public string Phone { get; set; }
[Column("note")]
[StringLength(200)]
public string Note { get; set; }
[Column("lastLoginTime")]
public DateTime LastLoginTime { get; set; }
[Column("work")]
public string Work { get; set; }
public User User { get; set; }
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
using (DefaultDbContext db = new DefaultDbContext())
{
//db.Database.MigrateAsync();
//db.Database.EnsureCreated();
var list = db.Database.GetPendingMigrations();
if (list.Count() > 0)
{
db.Database.MigrateAsync();
}
//var user = new User { Name = "张三", Sex = false, IdCard = "513701199109121331" };
//db.Users.Add(user);
//db.SaveChanges();
//System.Console.Write(db.Users.ToList());
Console.ReadKey();
}
}
}

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
C# == 和 Equals 区别
class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); var s1 = new string("yyy"); var s2 = new string("yyy"); var s3 = new StringBuilder("yyy"); var s4 = new StringBuilder("yyy"); Console.WriteLine("object.ReferenceEquals(s1, s2): " + object.Equals(s1, s2)); Console.WriteLine("object.ReferenceEquals(s3, s4): " + object.Equals(s3, s4)); Console.WriteLine("s1 == s2: " + (s1.GetHashCode() + " " + s2.GetHashCode())); Console.WriteLine("s1 == s2: " + (s1.GetHashCode() +...
-
下一篇
Nginx系列教程(6)Nginx location 匹配规则详细解说
Nginx 的 location 实现了对请求的细分处理,有些 URI 返回静态内容,有些分发到后端服务器等,今天来彻底弄懂它的匹配规则 一个最简单的 location 的例子如下 server { server_name website.com; location /admin/ { # The configuration you place here only applies to # http://website.com/admin/ } } 复制代码 location 支持的语法 location [=|~|~*|^~|@] pattern { ... },乍一看还挺复杂的,来逐个看一下。 location修饰符类型 「=」 修饰符:要求路径完全匹配 server { server_name website.com; location = /abcd { […] } } 复制代码 http://website.com/abcd匹配 http://website.com/ABCD可能会匹配 ,也可以不匹配,取决于操作系统的文件系统是否大小写敏感(case-sensitive)...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- MySQL数据库在高并发下的优化方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2整合Thymeleaf,官方推荐html解决方案