博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC中Code First编程一些小技巧
阅读量:5010 次
发布时间:2019-06-12

本文共 1821 字,大约阅读时间需要 6 分钟。

1. Code First 中实体类

1. 主建字段    系统会自动以ID结束的这类创建主键,但有多个这种类型的字段还是指定一个为好[Key]public int DetailID { get; set; }2. 非空字段[Required,MaxLength(50)] //[StringLength(50)] 同上MaxLengthpublic string DetailTitle { get; set; }3. 设置长度[StringLength(500)]public string DetailDesc { get; set; }4. 设置外建字段     如果StyleID是Style表的主建,可以不用写Foreignkey属性[Required, ForeignKey("Style")] public int StyleID { get; set; }外键关联的Entitypublic virtual Style Style { get; set; } 5. 指定字段类型:
[Column(TypeName="Money")]public decimal UnitPice { get; set; }

 

2. DBContext

public class StyleContext:DbContext    {        public StyleContext() : base("name=WMSAidDB")         {            //自动创建表,如果Entity有改到就更新到表结构            Database.SetInitializer
(new MigrateDatabaseToLatestVersion
()); } public DbSet
StyleDetails { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) {
       modelBuilder.Entity
().ToTable("tb_Order");//设置对应的表        //设置对应的字段格式,长度,非空             modelBuilder.Entity
().Property(p => p.OrderNumber).IsRequired().HasColumnType("Varchar").HasMaxLength(500); modelBuilder.Conventions.Remove
(); //表名为类名,不是上面带s的名字 //移除复数表名的契约 modelBuilder.Conventions.Remove
(); //不创建EdmMetadata表 //防止黑幕交易 要不然每次都要访问 EdmMetadata这个表 } } internal sealed class ReportingDbMigrationsConfiguration : DbMigrationsConfiguration
{ public ReportingDbMigrationsConfiguration() { AutomaticMigrationsEnabled = true;//任何Model Class的修改將會直接更新DB AutomaticMigrationDataLossAllowed = true; } }

 3.  延迟加载

EF是默认开启延迟加载,延迟加载的关系表中,必须建立表关系,也就是SQL的FK键

context.Styles.Include("StyleDetails").Where(p => p.ParentStyleID == ParentID);

转载于:https://www.cnblogs.com/chinabc/archive/2013/01/16/2846062.html

你可能感兴趣的文章
Cocos2dx Android 启动页的设置
查看>>
Windows Phone 7 - Performance 系列 (2)
查看>>
安装mongodb并配置
查看>>
C# 修饰符你记住了吗?
查看>>
Codeforces Round #300 F - A Heap of Heaps (树状数组 OR 差分)
查看>>
Exp4 恶意代码分析
查看>>
HDU-1090
查看>>
解决从jenkins打开robot framework报告会提示‘Opening Robot Framework log failed ’的问题...
查看>>
JS基础--Date
查看>>
[ reprint ] Two problems
查看>>
access数据库频繁读取操作会出现 System.Data.OleDb.OleDbException 的异常解决
查看>>
Java计数器之CountDownLatch、CyclicBarrier、Semaphore
查看>>
Oracle基础知识-sqlplus使用
查看>>
(转载)在C/C++程序里打印调用栈信息
查看>>
(转载)mysqli使用prepared语句
查看>>
[HDU] 4502 吉哥系列故事——临时工计划
查看>>
php XML 读写 创建
查看>>
Python学习--内置函数isinstance()
查看>>
git使用 git本地推送到远程分支 git基本操作 git合并分支
查看>>
「模板」线段树静态开点(单点+区间修改)、动态开点
查看>>