基于注解的EF

首先得你的ef dll版本在4.1以上

第一步贴第一个类

由于字段太多就写一部分

[Table("NavF")]//设置表名称

public class NavF

{

[Key]//主键

[DatabaseGenerated(DatabaseGeneratedOption.Identity)]//设置自增

public int ID { get; set; }

[Required]//要求所需字段不能为空

[MaxLength(500)]//字段最大长度

[Column("NTitle")]//设置映射到数据库的名称

public string NTitle { get; set; }

[Required]

[Column("NOrder")]

public int NOrder { get; set; }

[Required]

[MaxLength(10)]

[Column("NType")]

public string NType { get; set; }

public IList<NavT> navTList = new List<NavT>();//设置关联属性

public virtual IList<NavT> NavTList

{

get { return navTList; }

set { navTList = value; }

}

}

[Table("NavT")]

public class NavT

{

[Key]

[DatabaseGenerated(DatabaseGeneratedOption.Identity)]

public int ID { get; set; }

[Required]

[MaxLength(500)]

[Column("NTitle")]

public string NTitle { get; set; }

[Required]

[MaxLength(500)]

[Column("Note")]

public string Note { get; set; }

public int NavF_ID { get; set; }//外键名称

private NavF navF;

[ForeignKey("NavF_ID")]//映射外键名称

public NavF NavF

{

get { return navF; }

set { navF = value; }

}

}

--------------------------------------------------

第二部就是 DBcontext类

public class DBContextStu : DbContext

{

public DBContextStu() : base("constr")

{

Database.SetInitializer(

new DropCreateDatabaseIfModelChanges<DBContextStu>());//只要发生改变就删除数据库

//Database.SetInitializer(

//        new CreateDatabaseIfNotExists<DBContextStu>());  //不存在才进行创建

}

public DbSet<NavF> NavF { get; set; }

public DbSet<NavT> NavT { get; set; }

}

=============================================================

第三部数据库连接字符串constr与dbcontext类中的构造函数参数一致

<add name="constr" connectionString="Data Source=.;Initial Catalog=AST;User ID=sa;Password=sa" providerName="System.Data.SqlClient" />

--------------------------------------------------------------------------------------------------

数据库操作下一节一个dal通用类封装得不是很好

关于这个管理属性添加数据有点麻烦

public DBContextStu db = new DBContextStu();

public int AddORUpdate(NavT modelT, int PID)

{

NavF model=db.NavF.Single(u => u.ID == PID);

modelT.NavF = model;

modelT.NavF_ID = PID;

db.NavT.AddOrUpdate(modelT);

//Console.WriteLine(db.NavT.ToList().Count);

return db.SaveChanges();

}

时间: 2024-10-12 14:59:05

基于注解的EF的相关文章

Spring学习笔记-springMVC基于注解的控制器(Demo)

springmvc的整体运行流程图: 基于@Controller和@RequestMapping是springmvc示例代码 在web.xml中配置springmvc核心分发器DispatcherServlet .... <servlet> <servlet-name>springmvc</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </

Spring7:基于注解的Spring MVC(下篇)

Model 上一篇文章<Spring6:基于注解的Spring MVC(上篇)>,讲了Spring MVC环境搭建.@RequestMapping以及参数绑定,这是Spring MVC中最基础也是最重要的内容,本篇文章继续讲讲Spring MVC中其余的知识点,先从Model开始. 前一篇文章比较详细地解读了数据从页面请求到服务器后台的一些细节,那么下一个要解决的问题就是数据如何从后台再次传回前台,答案就是这里要说的Model,关于Model在写例子之前我特别先说明三点: 1.Model本身是

基于注解的Mybatis mapper 接口注意事项

基于注解的Mybatis mapper 接口功能没有mapper xml配置文件丰富,而且动态sql语句的灵活性不能和xml配置相比. 这里只说一下基于注解的动态sql注意事项: Mybatis提供注解 @InsertProvider, @UpdateProvider,@DeleteProvider和 @SelectProvider来提供动态sql功能. 提供动态sql的方法参数只有2种可能:无参数和一个参数.一个参数又分为2种情况:参数类型和mapper 接口方法参数相同,另一个就是Map<S

基于注解的struts2+spring+hibernate集成

applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.spri

Spring声明式事务管理(基于注解方式实现)

----------------------siwuxie095 Spring 声明式事务管理(基于注解方式实现) 以转账为例 1.导入相关 jar 包(共 10 个包) (1)导入核心 jar 包和日志相关的 jar 包 (2)导入 JdbcTemplate 的 jar 包 (3)导入 MySQL 的 JDBC 驱动包 mysql-connector-java 下载链接: https://dev.mysql.com/downloads/connector/j/ (4)导入 AOP 的 jar

基于注解的bean配置

基于注解的bean配置,主要是进行applicationContext.xml配置.DAO层类注解.Service层类注解. 1.在applicationContext.xml文件中配置信息如下 <!--定义服务层代码存放的包扫描路径--> <context:component-scan base-package="org.mainstudio.com.service,org.mainstudio.com.dao" /> 其中base-package包括了要进行

Spring6:基于注解的Spring MVC(上篇)

什么是Spring MVC Spring MVC框架是一个MVC框架,通过实现Model-View-Controller模式来很好地将数据.业务与展现进行分离.从这样一个角度来说,Spring MVC和Structs.Structs2非常类似.Spring MVC的设计是围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到特定的handler.通过可配置的hander mappings.view resolution.locale以及theme res

Struts2基于注解的Action配置

使用注解来配置Action的最大优点就是能够实现零配置,可是事务都是有利有弊的.使用方便.维护起来就没那么方便了. 要使用注解方式,我们必须加入一个额外包:struts2-convention-plugin-2.x.x.jar. 虽说是零配置的,但struts.xml还是少不了的,配置例如以下: <? xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apa

(spring-第4回)spring基于注解的配置

基于XML的bean属性配置:bean的定义信息与bean的实现类是分离的. 基于注解的配置:bean的定义信息是通过在bean实现类上标注注解实现. 也就是说,加了注解,相当于在XML中配置了,一样一样的. 一.举个栗子: 1 package com.mesopotamia.annotation; 2 3 import org.springframework.stereotype.Component; 4 5 @Component 6 public class Car { 7 private