在年前上班的时候遇到了一个问题是这样描述的:我前台设计一个页面,是标签和文本框,当用户修改了哪个文本框的值,将该修改前的值.修改后的值,该值对应的字段,该值对应的行id获取到保存到数据库的某张表里.现在数据库有一张表,结构如下: 修改记录表 ID 修改行ID 修改列名称 修改前的值 修改后的值 所属修改批次 修改时间 1 1 test 10 11 2013-10-11 第一批次 2013-10-11 思路: 1.将数据封装成实体对象传到后台.整套下来是用MVC的机制实现的 2.利用反射.获取对象…
/// <summary> /// 反射得到实体类的字段名称和值 /// var dict = GetProperties(model); /// </summary> /// <typeparam name="T">实体类</typeparam> /// <param name="t">实例化</param> /// <returns></returns> public…
using System.Windows.Forms;using System.Reflection; foreach (FieldInfo fi in typeof(SystemInformation).GetFields(BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic)) { Console.WriteLine(fi.Name); Console.WriteLine(fi.GetValue(fi.Name)…
看似很鸡肋其实在某些特殊场景还是比较有用的.比如你将实体类转Map或者拿到一个Map结果的时候,你是怎么获取某个map的key和value.方法一:声明 String key1="name"; key为 key1,value 为map.get(key1); 1 Map<String,Object> map=new HashMap<>(); 2 map.put("aaa",1); 3 4 //获取map的key 和value 5 //key 为…
在实体对象中访问导航属性里的属性值出现异常“There is already an open DataReader associated with this Command which must be closed first”. public class User { public long UserId { get; set; } public string UserName { get; set; } public string UserPwd { get; set; } public D…
MyBatis系列二  之   数据库列名于程序实体类中字段名称不一致 情景:当数据库中的列名与我们程序实体类中的字段名称不一致         使用ResultMap节点配置信息  在映射文件中  mapper根节点下配置ResultMap节点信息 <resultMap type="Student" id="studentMapper"> <result column="sname" property="stunam…
为了达到模块间最小耦合,单模块业务数据不与其他模块发生关系.在操作数据库的时候,采用EF泛型操作.但泛型操作不好实现联表,经过一晚的试验发现了一种定义数据库上下文并联表的方式. 1.实体对象定义.实体对象可能存在于不同的业务模块中.他们之间是相互不知道对方存在的. public class User { [Key] [MaxLength()] public string userId { get; set; } [MaxLength()] public string userName { get…
突发奇想,想把业务修改的所有字段原始值和修改后的值,做一个记录,然后发现使用EF可以非常简单的实现这个功能 覆盖父类中的 SaveShanges() 方法 public new int SaveChanges() { //是否记录EF变更日志 bool efLogFlag = true; if (efLogFlag) { WriteEFDataLog(); } return base.SaveChanges(); } 获取到EF 数据库上下文中所有的变更条目 因为是测试Demo所以之记录了 Up…
<!doctype html><html lang="en"><head> <meta charset="UTF-8"></head><body><p onclick="e0()" id="id0" class="class0">e0</p><br><p onclick="e1()&q…
获取所有字段的值: public void PrintProperties(Object obj) { Type type = obj.GetType(); foreach( PropertyInfo p in type.GetProperties()) { Console.Write(p.GetValue()); } }…
表达式树Expression是Linq中一项比较重要的功能,对其深刻了解Lamda以及计算表达式有很大的帮助. 下面是利用 Expression<Func<Object>>[]取得Func<Object>中的操作数或成员名称以及值. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Linq.Expressions; usi…
select column_name from all_tab_columns where table_name='AT2_SSIS_CHNDB_CLIENT_INFO'…
之前在网上看到的都是遍历那种比较简单的实体对象,但是如果有实体嵌套,甚至是包含有List<XXInfo>这种属性的时候就没有办法处理了.通过递归遍历的方式可以完成对复杂实体对象的所有属性的遍历,可以取值和赋值. 下面是关键部分的代码,有什么不对的地方路过的大大一定要指点哈. using System.Reflection; public System.Text.StringBuilder strB = new System.Text.StringBuilder();     public vo…
NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netcore,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和运行日志来进行深入分析,蕴含多年开发经验于其中,代表作有百亿级大数据实时计算项目. 开源地址:https://github.com/NewLifeX/X(求star, 864+) XCode是充血模型,在实体类上附带有大量便捷操作,其中就包括各种目标数据类型的导入导出! Json序列化 当下最常用的…
本文后推出Android的ICO框架做准备,所以,假设你想要一个最近的一项研究Android的ICO学生框架.你可以稍微看一下. 首先,简介一下Java里面的反射. JAVA反射机制是在执行状态中,对于随意一个类,都可以知道这个类的全部属性和方法.对于随意一个对象,都可以调用它的随意一个方法和属性.这样的动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 不知道这种一段解释,你是否能看懂.假设更简单的说.反射就是能够依据你给出类名实例化出一个实实在在的对象.所以,对象的实例化…
在使用ado.net的SqlDataReader对象时,如果SqlDataReader实例对象中没有对应的字段,则会在那一行报错.而SqlDataReader类又没有判断是否存在指定字段的方法,怎么办呢? 我们只好自己写个判断是否包含指定字段的方法了... 上代码: /// <summary> /// SqlDataReader对象是否包含此字段 /// </summary> /// <param name="dataReader">SqlDataR…
在EF中修改一条记录时,一般是先查出该条记录,然后再通过TryUpdateModel或其他方式更新对应的属性.但我很讨厌这种要更新一条记录时,还要先去把记录查询出来的做法.我喜欢像sql语句那样的直接更新需要更新的字段. 以前一般都是先写好数据库,再通过代码生成器生成实体类.DbContext对象等.这里没用EF的DBFirst的自动生成是因为它无法生成我想要的实体对象.举个例子,我希望的实体类大概是这样: public class User { public HashSet<string>…
EF实体框架数据操作基类主要是规范增.改.查.分页.Lambda表达式条件处理,以及异步操作等特性,这样能够尽可能的符合基类这个特殊类的定义,实现功能接口的最大化重用和统一. 1.程序代码 /// <summary> /// MSSQL数据库 数据层的父类 /// </summary> /// <typeparam name="T"></typeparam> public class BaseDAL<T> where T :…
实体类配置总结 Entity Framework 6 Code First 实践系列(1):实体类配置总结 2014-03-25 12:58 by TJerry, 719 阅读, 6 评论, 收藏, 编辑 EF实体类的配置可以使用数据注释或Fluent API两种方式配置,Fluent API配置的关键在于搞清实体类的依赖关系,按此方法配置,快速高效合理.为了方便理解,我们使用简化的实体A和B以及A.B的配置类AMap和BMap,来演示如何正确配置实体类关系的过程.  实体类配置 一.确定依赖关…
目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 上一章,我们介绍了安装和新建控制器.视图,这一章我们来创建个数据模型,并且添加接口和实现类. 添加EF上下文对象 按照我们以前的习惯,我们还是新建几个文件夹 Commons:存放帮助类 Domians:数据模型 Services:接口和实现类 我们在Domains文件夹下添加一个类库 Domain 我们新建一个类 ApplicationDbContext 继承 DbContext using Microsoft.Entit…
//----------------------------------------------------------------// Copyright (C) 2013 河南禄恒软件科技有限公司// // 功能描述:实体框架数据仓储的操作接口,包含增删改查接口////----------------------------------------------------------------using System;using System.Data.Entity.Infrastruct…
反射技术其实就是动态加载一个指定的类,并获取该类中的所有内容.而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员,简单来说:反射技术可以对一个类进行解剖,反射大大增强了应用程序的可扩展性. 反射技术的原理如下图所示: 但是要想要对字节码文件进行解剖,必须要有字节码文件对象. 如何获取字节码文件对象呢? 要读取的类文件源码: package Reflect; public class Person { /** * @param args */ private St…
添加EF上下文对象,添加接口.实现类以及无处不在的依赖注入(DI) 目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 上一章,我们介绍了安装和新建控制器.视图,这一章我们来创建个数据模型,并且添加接口和实现类. 添加EF上下文对象 按照我们以前的习惯,我们还是新建几个文件夹 Commons:存放帮助类 Domians:数据模型 Services:接口和实现类 我们在Domains文件夹下添加一个类库 Domain 我们新建一个类 ApplicationDbContext …
在DAL层中,建立工厂类 namespace DAL { public static class SysDbContextFactory { /// <summary> /// 从Http上下文中获取EF容器 /// </summary> /// <returns></returns> public static SysDbContext GetSysDbContext() { var context = HttpContext.Current.Items[…
[100分]紧急求助:LinQ下使用IQueryable<T>如何将返回类型<T>使用匿名类型 问题描述如下:我有一个方法如下:public IQueryable DissensionList(Guid guid)    {        var p = from d in db.T_民事调解 where (d.社区Guid == guid) select new {序号=d.ID,d.纠纷甲方,d.纠纷乙方,d.调解人,d.调解时间,d.纠纷类别 };        return…
一.单向多对一关联关系 一).使用LocalSessionFactoryBean类,即在applicationContext中配置的 <!-- 配置SessionFactory 使用LocalSessionFactoryBean--> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <propert…
一.Activiti 5.17 mybatis的mapping文件声明映射的实体对象关系. <configuration><settings><settingname="lazyLoadingEnabled"value="false" />settings><typeAliases><typeAliastype="org.activiti.engine.impl.persistence.ByteA…
java 实体对象转Map公共类 package org.kxtkx.portal.utils; import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; import org.kxtkx.portal.user.Admin; /** * * @author <a href="mailto:wangc@kxtkx.com">王成</a> * @created i…
对于SQL Server.MySql.Oracle等这些传统的数据库,基本都是关系型数据库,都是体现实体与实体之间的联系,在以前开发时,可能先根据需求设计数据库,然后在写Model和业务逻辑,对于Model类基本都是和表的字段对应着,而表中存的每条记录又和类的实例对象对应着,有了这个对照关系,就是能不能只在一边设计,在数据库设计表或在VS中设计Model,然后直接生成另一边,这样就省了好多时间成本.于是有了ORM,Object Relation Mapping,对象关系映射.既然可以根据Mode…
概要:有点老套,因为早在 .net frmework的时候(core还没出来),我们在使用 ef(4....6)的时候就已经这么用,这里我在搭建框架,所以随手写下,让后来人直接拿去用用. 1.使用前提 使用前我们一定要明白的是,通过fluent api去映射实体关系和属性的,也就是说core里面,要实现IEntityTypeConfiguration<TEntity>接口对象,示例如下: public class UserRoleConfiguration : IEntityTypeConfi…