项目收集-AutoMapper使用,事务,Json.Net序列化反序列化,代码生成调用等
using System;
using AutoMapper;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq; namespace ConsoleApplication1
{
class Program
{ private const string ConnStr = "Data Source=192.168.1.88;User Id=sa;Password=1234567890;Database=dbtest;Pooling=true;Max Pool Size=600;Min Pool Size=0;";
static void Main(string[] args)
{
//automapper
productDto dto = new productDto();
dto.proId = 1000;
dto.proName = "2016款最新秋季男式外套"; //AddressDto到Address的映射,AddressDto的字段CountryName要对应Address的字段Country:
//Mapper.CreateMap<AddressDto, Address>().ForMember(d => d.Country, opt => opt.MapFrom(s => s.CountryName)); Mapper.Initialize(x => x.CreateMap<productDto, product>());
var model = Mapper.Map<product>(dto);
Console.WriteLine(string.Format("{0}-{1}-{2}-{3}-{4}", model.proId, model.Price, model.shortInfo, model.info, model.addDate));
Console.ReadKey(); JObject obj = new JObject();
obj.Add("proId", "20000");
obj.Add("proName", "品牌电脑");
obj.Add("Price", "3600.00");
//转换成json字符串
string json = JsonConvert.SerializeObject(obj);
Console.WriteLine(json);
Console.ReadKey();
//json字符串转换成对象 方式1
var jsonObj = JObject.Parse(json); //JsonConvert.DeserializeObject(json);
Console.WriteLine(string.Format("{0}-{1}-{2}", jsonObj["proId"], jsonObj["proName"], jsonObj["Price"]));
Console.ReadKey();
//json字符串转换成对象 方式2
var jsonModel = JsonConvert.DeserializeObject(json);
Console.WriteLine(string.Format("{0}-{1}-{2}", jsonObj["proId"], jsonObj["proName"], jsonObj["Price"]));
Console.ReadKey();
//json字符串转换成对象 方式3
var proDto = JsonConvert.DeserializeObject<productDto>(json);
Console.WriteLine(string.Format("{0}-{1}-{2}", proDto.proId, proDto.proName, proDto.Price));
Console.ReadKey();
/*
Maticsoft.DBUtility.DbHelperSQL.connectionString = ConnStr; GetAllData();
Console.ReadKey(); AddData();
Console.ReadKey();
GetAllData();
Console.ReadKey(); UpdateData();
Console.ReadKey();
GetAllData();
Console.ReadKey(); GetQueryData();
Console.ReadKey(); DeleteData();
Console.ReadKey(); GetQueryData();
Console.ReadKey(); DeleteData2();
Console.ReadKey(); GetQueryData();
Console.ReadKey(); //事务处理
using (TransactionScope scope = new TransactionScope())
{
scope.Complete();
}
*/
} private static void GetAllData()
{
Console.WriteLine("===============全部数据=================");
//获取全部数据
foreach (var item in Dec.BLL.GatherData.GetAllGatherDatas())
{
Console.WriteLine(string.Format("{0}-{1}-{2}-{3}-{4}-{5}-{6}", item.Url, item.SkuCode, item.Domain,
item.Lang, item.Currency, item.ProName, item.ProGroup));
}
} private static void GetQueryData()
{
Console.WriteLine("===============查询数据=================");
//获取全部数据(搜索条件)
Dec.Models.GatherData queryModel = new Dec.Models.GatherData();
queryModel.Url = "22";
queryModel.Domain = "44";
foreach (var item in Dec.BLL.GatherData.GetAllGatherDatasByQuery(queryModel))
{
Console.WriteLine(string.Format("{0}-{1}-{2}-{3}-{4}-{5}-{6}", item.Url, item.SkuCode, item.Domain,
item.Lang, item.Currency, item.ProName, item.ProGroup));
}
} private static void AddData()
{
Console.WriteLine("===============新增数据=================");
//新增数据
Dec.Models.GatherData addModel = new Dec.Models.GatherData();
addModel.Url = "22";
addModel.SkuCode = "33";
addModel.Domain = "44"; addModel.Lang = "55";
addModel.Currency = "66";
addModel.ProName = "77";
addModel.ProGroup = "88";
int i = Dec.BLL.GatherData.Add(addModel);
if (i > 0)
{
Console.WriteLine("插入成功");
}
else
{
Console.WriteLine("插入失败");
}
} private static void UpdateData()
{
Console.WriteLine("===============更新数据=================");
//更新数据
Dec.Models.GatherData updateModel = new Dec.Models.GatherData();
updateModel.Id = 10000;
updateModel.Url = "2222";
updateModel.SkuCode = "3333";
updateModel.Domain = "4444"; updateModel.Lang = "5555";
updateModel.Currency = "6666";
updateModel.ProName = "7777";
updateModel.ProGroup = "8888";
bool flag = Dec.BLL.GatherData.Update(updateModel);
if (flag)
{
Console.WriteLine("更新成功");
}
else
{
Console.WriteLine("更新失败");
}
} private static void DeleteData()
{
Console.WriteLine("===============删除数据=================");
bool flag = Dec.BLL.GatherData.Delete(10000);
if (flag)
{
Console.WriteLine("删除成功");
}
else
{
Console.WriteLine("删除失败");
}
} private static void DeleteData2()
{
Console.WriteLine("===============删除数据=================");
//更新数据
Dec.Models.GatherData updateModel = new Dec.Models.GatherData();
updateModel.Url = "22";
updateModel.SkuCode = "33";
bool flag = Dec.BLL.GatherData.Delete(updateModel);
if (flag)
{
Console.WriteLine("删除成功");
}
else
{
Console.WriteLine("删除失败");
}
}
} public class productDto
{
public int proId { set; get; }
public string proName { set; get; }
public double Price { set; get; }
} public class product
{
public int proId { set; get; }
public string proName { set; get; }
public double Price { set; get; }
public string shortInfo { set; get; }
public string info { set; get; }
public DateTime addDate { set; get; }
}
}

项目收集-AutoMapper使用,事务,Json.Net序列化反序列化,代码生成调用等的更多相关文章
- 二进制数据的序列化反序列化和Json的序列化反序列化的重要区别
前言:最近一个一个很奇怪的问题,很明白的说,就是没看懂,参照下面的代码: /// <summary> /// 反序列化对象 /// </summary> /// <typ ...
- .NET Core protobuf-net、MessagePack、Json.NET序列化/反序列化性能测试
测试代码Zonciu/SerializationTest.cs, 源自neuecc/ZeroFormatterBenchmark.cs. NuGet包及其版本 mgravell/protobuf-ne ...
- 05-06 Flutter JSON和序列化反序列化、创建模型类转换Json数据、轮播图数据渲染:Flutter创建商品数据模型 、请求Api接口渲染热门商品 推荐商品
Config.dart class Config{ static String domain='http://jd.itying.com/'; } FocusModel.dart class Focu ...
- Newtonsoft.Json.Linq 序列化 反序列化等知识
1.反序列化实体类 //使用JObject读写字符串:JObject j = JObject.Parse(data);IEnumerable<JProperty> properties = ...
- php json与xml序列化/反序列化
在web开发中对象的序列化与反序列化经常使用,比较主流的有json格式与xml格式的序列化与反序列化,今天想写个jsop的小demo,结果发现不会使用php序列化,查了一下资料,做个笔记 简单数组js ...
- Asp.Net MVC大型项目实践整合 NHibernate与Json序列化
通过NHibernate我们多表查询是实现了 但由于查询出来的集合中的对象“不是平的”,如何在送到UI绑定成了问题.ExtJs UI组件的数据绑定支持多种格式,如简单数组,Json,Xml.在本项目中 ...
- ios项目里扒出来的json文件
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0. ...
- github上一些觉得对自己工作有用的项目收集
usefullProjectCollect github上一些觉得对自己工作有用的项目收集 技能类 markdown语法中文说明 全文检索 elasticsearch bigdesk elastics ...
- 超越 JSON: Spearal 序列化协议简介
Spearal 是一个新的开源的序列化协议,这个协议旨在初步替换JSON 将HTML和移动应用连接到Java的后端. Spearal的主要目的是提供一个序列协议,这个协议即使是在端点间传输的复杂的 ...
随机推荐
- [自制操作系统] 图形界面&VBE工具&MMIO显存&图形库/字库
本文记录了在JOS(或在任意OS)上实现图形界面的方法与一些图形库的实现. 本文中支持的新特性: 支持基本图形显示 支持中英文显示(中英文点阵字库) 相关:VBE VESA MMIO 点阵字库 Git ...
- 猎八哥浅谈MYSQL触发器
什么是MYSQL触发器,我们先了解一下触发的意思.触发的字面意思是指因触动而激发起某种反应. MYSQL必知必会中对触发器的解释是:MySQL响应以下任意语句而自动执行的一条MySQL语句(或位于 B ...
- Python中os和shutil模块实用方法集…
Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...
- 201521123005《java程序设计》第五周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 接口 有点类似继承中父类与子类的关系 方法声明和常量值的集合 对行为的抽象 一种 ...
- 201521123080《Java程序设计》第2周学习总结
1.本周学习总结 a.学习了如何建立远程仓库和本地仓库并建立连接. b.学习了一些基础语法. 2.书面作业 Q1.使用Eclipse关联jdk源代码,并查看String对象的源代码(截图)?分析Str ...
- 201521123072《java程序设计》第九周总结
201521123072<java程序设计>第九周总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 常用异常 题目5-1 1.1 截 ...
- Python爬虫1-----------placekitten 入门
常用的urllib库有三个类:request,parse,error,request主要完成对url的请求,如proxy,opener,urlopen,parse主要完成对html的解析,error负 ...
- 数据库复用代码【c3p0配置文件、数据库连接池】
前言 为了复用,记载一些以前写过的工具类.方法 c3p0配置文件[c3p0-config.xml] <?xml version="1.0" encoding="UT ...
- 如何延长IntelliJ IDEA的试用期?
想打开idea写个代码...提示idea快过期...不开森...然鹅. 根据网上各种说明,总结大体分为以下4种方法: 方法1.直接输入激活码Activation Code(亲自验证有效而且非常简单 ...
- Tiled Editor 图块的两种导入方式
一.图块集图块的导入. 打开或者创建地图后,新建 新图块. 弹出新图块面板 图块类型选择 "基于图块集图块",一定要选择"嵌入地图",否则需要另存为其他类型的文 ...