同步操作将从 faib920/fireasy2 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
Fireasy是一套基于.Net Framework应用开发组件,其主旨思想为“让开发变为更简单”,其义为,使用尽可能少的组件,实现你所需的功能。Fireasy几乎覆盖了开发中可能使用到的技术,比如Log、Cache、AOP、IOC、ORM、MVC等等,并提供了Redis、RabbitMQ、NLog、Log4net等这些组件的适配。
Fireasy 支持 net3.5(已废弃)/net4.0(已废弃)/net4.5/net4.6/net4.7/netstandard2.0/netstandard2.1,只需一个dll即可,已发布到 nuget ,搜索添加即可。
Fireasy 的在线文档 http://www.fireasy.cn/docs。
Fireasy 的Demo项目 https://github.com/faib920/zero。
Fireasy.Common
是一组公用的类库,提供一些常用的类和方法。
Fireasy.Data
数据库底层的访问类库,目前支持MsSql、Oracle、MySql、SQLite、PostgreSql、Firebird等常见数据库。
public void Sample()
{
using (var db = DatabaseFactory.CreateDatabase())
{
//查询返回
var customers = db.ExecuteEnumerable<Customer>((SqlCommand)"select * from customers");
//分页,参数化
var ds = new DataSet();
var paper = new DataPager(5, 0);
var parameters = new ParameterCollection();
parameters.Add("city", "London");
db.FillDataSet(ds, (SqlCommand)"select city from customers where city <> @city", segment: paper, parameters: parameters);
//批量插入
var list = new List<BatcherData>();
for (var i = 0; i < 100000; i++)
{
list.Add(new BatcherData { ID = i, NAME = new Size(12, 20), BIRTHDAY = DateTime.Now });
}
var provider = db.Provider.GetService<IBatcherProvider>();
provider.Insert(db, list, "BATCHERS");
//获取所有表定义
var schema = db.Provider.GetService<ISchemaProvider>();
var parameter = db.Provider.GetConnectionParameter(db.ConnectionString);
foreach (var table in schema.GetSchemas<Table>(db, s => s.Schema == parameter.Schema))
{
Console.WriteLine(table.Name + "," + table.Description);
}
}
}
Fireasy.Data.Entity
实体框架,Linq解析部份参考了iqtoolkit和NLite开源框架。
public void Sample()
{
using (var context = new DbContext())
{
DateTime? startTime = null;
DateTime? endTime = null;
var state = 0;
//AssertWhere 用法
var orders = context.Orders
.AssertWhere(startTime != null, s => s.OrderDate >= startTime)
.AssertWhere(endTime != null, s => s.OrderDate <= endTime)
.AssertWhere(state == 0, s => s.RequiredDate == DateTime.Now, s => s.RequiredDate >= DateTime.Now)
.AsNoTracking();
//ExtandAs 扩展用法
var details = context.OrderDetails.Select(s =>
s.ExtendAs<OrderDetails>(() => new OrderDetails
{
ProductName = s.Products.ProductName
}))
.ToList();
//分页
var pager = new DataPager(50, 2);
var products = context.Products.Segment(pager).ToList();
//排序
var sorting = new SortDefinition();
sorting.Member = "OrderDate";
sorting.Order = SortOrder.Descending;
var orders1 = context.Orders
.Select(s => new { s.OrderDate, CompanyName = s.Customers.CompanyName })
.OrderBy(sorting, u => u.OrderByDescending(s => s.OrderDate))
.ToList();
//按条件更新
context.Orders.Update(() => new Orders { Freight = 1 }, s => s.OrderDate >= DateTime.Now);
//计算器方式更新
context.Orders.Update(s => new Orders { Freight = s.Freight * 100 }, s => s.OrderDate >= DateTime.Now);
//按条件删除
context.Orders.Delete(s => s.OrderDate > DateTime.Now);
//Batch插入
var depts = new List<Depts>();
for (var i = 0; i < 100; i++)
{
var d = Depts.New();
d.DeptName = "测试" + i;
depts.Add(d);
}
context.Depts.Batch(depts, (u, s) => u.Insert(s));
}
}
Fireasy.Web.Mvc
针对Asp.Net MVC的扩展,提供控制器工厂,使之与IOC无缝结合。
Fireasy.Web.EasyUI
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。