zoukankan      html  css  js  c++  java
  • postgres entityframework foreignkey

     1     public class Model
     2     {
     3         [Key, Column("id"), DatabaseGenerated(DatabaseGeneratedOption.Identity)]
     4         public long Id { get; set; }
     5         [Column("create_time")]
     6         public DateTime CreTime { get; set; } = DateTime.Now;
     7         [Column("create_uid")]
     8         public long? CreUid { get; set; }
     9         [Column("update_time")]
    10         public DateTime? UpdTime { get; set; }
    11         [Column("update_uid")]
    12         public long? UpdUid { get; set; }
    13         [Column("remark")]
    14         public string Remark { get; set; }
    15         [Column("is_del")]
    16         public bool IsDel { get; set; } = false;
    17     }
    18 
    19     [Table("a_user_type")]
    20     public class UserCls
    21     {
    22         [Key, Column("id"), DatabaseGenerated(DatabaseGeneratedOption.None)]
    23         public long Id { get; set; }
    24         [Column("des")]
    25         public string Des { get; set; }
    26     }
    27 
    28     [Table("b_user")]
    29     public class User : Model
    30     {
    31         [Column("account"), Index(IsUnique = false)]
    32         public string Account { get; set; }
    33         [Column("passwd")]
    34         public string Passwd { get; set; }
    35         [Column("label")]
    36         public string Label { get; set; }
    37         [Column("cls_id"), ForeignKey("Cls")]
    38         public long? ClsId { get; set; }
    39         public virtual UserCls Cls { get; set; }
    40     }

    以上数据库字段全部取小写,是因为postgres非常严格,驼峰式写法的sql要加双引号,非常麻烦。

    mssqlserver 可以完全不用管,mysql只需注意表的名字小写即可,postgres连字段名都要特别注意。

     1     public class MesDbContext: DbContext
     2     {
     3         public MesDbContext():base("name=mes")
     4         {
     5             Database.SetInitializer(new MigrateDatabaseToLatestVersion<MesDbContext, MigrateConfig>());
     6         }
     7 
     8         public DbSet<User> Users { get; set; }
     9         public DbSet<UserCls> UserCls { get; set; } 
    10     }
    11 
    12     public class MigrateConfig : DbMigrationsConfiguration<MesDbContext>
    13     {
    14         public MigrateConfig()
    15         {
    16             AutomaticMigrationsEnabled = true;
    17             AutomaticMigrationDataLossAllowed = true;
    18         }
    19     }
    1   <entityFramework>
    2     <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    3     <providers>
    4       <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    5       <provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, EntityFramework6.Npgsql" />
    6     </providers>
    7   </entityFramework>
    8   
    1   <system.data>
    2     <DbProviderFactories>
    3       <!--  注意这里,安装程序包时,这里的配置并不会自动添加  -->
    4       <remove invariant="Npgsql" />
    5       <add name="Npgsql" invariant="Npgsql" description=".Net Framework Data Provider for Postgresql" type="Npgsql.NpgsqlFactory, Npgsql" />
    6     </DbProviderFactories>
    7   </system.data>
    8   
    1 <?xml version="1.0" encoding="utf-8"?>
    2 <packages>
    3   <package id="EntityFramework" version="6.2.0" targetFramework="net45" />
    4   <package id="EntityFramework6.Npgsql" version="3.1.1" targetFramework="net45" />
    5   <package id="Npgsql" version="3.2.5" targetFramework="net45" />
    6   <package id="System.Threading.Tasks.Extensions" version="4.4.0" targetFramework="net45" />
    7 </packages>
  • 相关阅读:
    6th week blog3
    6th week blog2(颜色)
    6th week blog1(CSS单位)
    布局—一侧固定宽度,一侧自适应
    布局—两侧固定,中间自适应
    九宫格
    选项卡
    缓冲运动框架
    封装一些常用的js工具函数-不定时更新(希望大家积极留言,反馈bug^_^)
    在一定[min,max]区间,生成n个不重复的随机数的封装函数
  • 原文地址:https://www.cnblogs.com/jonney-wang/p/8438110.html
Copyright © 2011-2022 走看看