C# 实体模型EF关联数据库
来源:互联网 发布:旅游购物 知乎 编辑:程序博客网 时间:2024/06/06 03:30
首先 我们要有对应的数据库 实体对象 也就是类对象
//实体对象类 Model
public class product { /// <summary> /// 商品信息id 主键 /// </summary> //[DatabaseGenerated(DatabaseGeneratedOption.None)] 去除自增长 [ProductComm] public long id { get; set; } [ProductComm] public string name { get; set; } /// <summary> /// 创建时间 /// </summary> public DateTime ctime { get; set; } /// <summary> /// 0正常 1已删除 /// </summary> public int s { get; set; } [NotMapped] public string username { get; set; } }
首先我们要继承DBconent并配置
前提我们引用 这几个对象
using System.Data.Entity;using System.Data.Entity.ModelConfiguration.Conventions;using System.Data.Entity.Infrastructure;using System.Data.Entity.ModelConfiguration;
public class ConnectionData : DbContext { public ConnectionData() //数据库配置对象名称 : base("mobileConnection") { //this.Database.Log = Logger.Debug; //这里可以记录日志 } /// <summary> /// 数据库对象 对应 /// </summary> public virtual IDbSet<product> ProductInfo { get; set; } /// <summary> /// 重写 模型创建方法 /// </summary> /// <param name="modelBuilder"></param> protected override void OnModelCreating(DbModelBuilder modelBuilder) { // TODO: 在这里写Fluent API //公约 modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); modelBuilder.Conventions.Remove<IncludeMetadataConvention>(); //var s = new EntityTypeConfiguration<product>(); //s.ToTable("product"); //s.Property(q => q.username).HasColumnName("name"); //s.Property(q => q.name).HasColumnName("name"); //modelBuilder.Entity<product>().HasKey(t => t.id); //modelBuilder.Entity<product>().Ignore(t => t.username); //modelBuilder.Configurations.Add(s); //关联到配置方法 AddEntityMapping(modelBuilder); //.... base.OnModelCreating(modelBuilder); } /// <summary> /// 制定类对类对象进行配置 /// </summary> /// <param name="modelBuilder"></param> private void AddEntityMapping(DbModelBuilder modelBuilder) { modelBuilder.Configurations.Add(new ProductMapping()); } }
对类对象进行构造 指定表名 主键名称 长度 等等规则 这里不一一列举 需要的同学自己去查
public class ProductMapping : EntityTypeConfiguration<product> { public ProductMapping() { this.ToTable("product"); this.HasKey(x => x.id); this.Property(x => x.name).HasMaxLength(50); //this.HasRequired(x => x.Member).WithMany().HasForeignKey(x => x.MemberId); } }
那么到了上面这一步 我们的数据库 已经和ConnectionData 类 相互关联起来了 那么我们现在要做的 只是使用它而已
public List<product> GetproductInfo() { ConnectionData c = new ConnectionData(); var datas= c.ProductInfo.Where(q => q.id == 1).ToList(); return datas; }到了这里 我们已经取出你的实体对象对应的数据库对象了。
1 0
- C# 实体模型EF关联数据库
- EF实体框架模型使用Linq获取数据库数据
- EF架构为实体模型添加注释
- ef 更新数据库表后更新实体
- VS2013+EF+实体类创建数据库表
- MVC3教程之实体模型和EF CodeFirst
- MVC3教程之实体模型和EF CodeFirst
- 实体框架 (EF) 入门 => 五、连接和模型
- EF连接mysql数据库生成实体模型,出现报错无法生成模型:“System.Data.StrongTypingException: 表“TableDetails”中列“IsPrimaryKey”的值为
- vs2013+ef+orcale更新数据库模型
- EF Code First实体类变后进行数据库迁移
- 使用T4模板为EF框架添加数据库实体注释
- EF映射——从数据库更新实体
- 使用EF CodeFirst根据实体类生成数据库
- EF映射——从数据库更新实体
- C# 之 EF CodeFirst创建MySQL数据库
- C#访问MySQL数据库(winform+EF)
- WCF RIA Services & EF - Tip: Silverlight端访问外键关联实体
- VS操作快捷键+系统快捷键
- c语言:【顺序表】静态顺序表的初始化、打印、尾插、尾删
- c语言:【顺序表】静态顺序表的头插、头删
- 视频跟踪学习连接 Tracking Link
- c语言:【顺序表】静态顺序表的在指定位置插入元素,以及查找指定元素
- C# 实体模型EF关联数据库
- c语言:【顺序表】静态顺序表的删除指定位置元素Erase、删除指定元素Remove
- Oracle去掉重复数据
- C语言:【动态顺序表】动态顺序表的初始化、打印、尾插PushBack、尾删PopBack
- C语言:【动态顺序表】动态顺序表的在指定位置插入元素Insert,以及指定元素Find
- 【C语言项目】注释转换
- 【String类浅拷贝的实现】C++:String类引用计数浅拷贝的两种实现
- 【String类】C++:String类的传统写法与现代写法
- 《剑指offer》字符串中的字符替换