linq

N-Ary/Multiple-List Cartesian Product

谁说胖子不能爱 提交于 2020-12-26 04:26:06
问题 in Product SKUs, we can get Cartesian Product in the way of LINQ: string[] arr1 = new[] {"red", "blue", "orange"}; string[] arr2 = new[] {"5 inche", "8 inch"}; var result = from a in arr1 from b in arr2 select a + " " + b; foreach (var item in result){ Console.WriteLine(item); } We know the exact number of arrays. My question is: If the number of arrays is dynamic, how do we get Cartesian Product? Thanks. 回答1: I'd put them in a list of string arrays. Then I'd use ForEach : IEnumerable<string>

N-Ary/Multiple-List Cartesian Product

僤鯓⒐⒋嵵緔 提交于 2020-12-26 04:25:59
问题 in Product SKUs, we can get Cartesian Product in the way of LINQ: string[] arr1 = new[] {"red", "blue", "orange"}; string[] arr2 = new[] {"5 inche", "8 inch"}; var result = from a in arr1 from b in arr2 select a + " " + b; foreach (var item in result){ Console.WriteLine(item); } We know the exact number of arrays. My question is: If the number of arrays is dynamic, how do we get Cartesian Product? Thanks. 回答1: I'd put them in a list of string arrays. Then I'd use ForEach : IEnumerable<string>

Sort collection by first item of sub list in Entity Framework

青春壹個敷衍的年華 提交于 2020-12-26 03:10:53
问题 Is it possible to sort IQueryable collection by it's sub collections? For example I have a Books collection. I also have an Authors collection which has a column BookId , so the BookId is a foreign key in Authors table. The relation is one-to-many (one book many authors). I need to sort the Books collection by the first author. The book is not required to have an author. Can this be done in Entity Framework and Linq? 回答1: The answer to your concrete question (after clarification that The

EF Core 快速入门教程

余生颓废 提交于 2020-12-24 23:32:07
EF Core 基础概念 概念 EF Core 全称是Entity Framework Core,可使用 EF Core 开发面向 .NET Core 的应用,EF Core 同时支持在 Visual StudioVisual Studio for Mac 或 Visual Studio Code 等环境下开发。虽然EF CORO 同样支持在Xamarin和.Net Native 上实现运行,但是存在运行限制,可能会影响EF Core处理的效率,暂不推荐使用。 技术大纲 Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技术。 EF Core 可用作对象关系映射程序 (O/RM),这可以实现以下两点: 使 .NET 开发人员能够使用 .NET 对象处理数据库。 无需再像通常那样编写大部分数据访问代码。 EF Core 支持多个数据库引擎。 获取 Entity Framework Core 运行时 举例:安装或更新 EF Core SQL Server 的途径 三种途径 NET Core CLI (控制台命令行操作页面可执行) 执行“dotnet add package Microsoft.EntityFrameworkCore.SqlServer”该指令 可以使用 -v 修饰符在 dotnet

SQL SERVER中生僻字问题存储与查询问题

怎甘沉沦 提交于 2020-12-24 01:54:15
以下仅记录碰到的几个问题 1.首先字段设置为varchar的时候存储后无法进行正常的显示 显示为?   此状态下匹配查询或者Like模糊查询都没问题 2.将字段设置为nvarchar,在进行插入或者跟新时入:insert into teset set membername='秦䶮 ' 此时䶮字仍然只显示?, insert into teset set membername=N'秦䶮 '时可正常插入显示   此状态下用匹配查询=可以正常查询到,当使用like模糊查询时 䶮没有被识别到 like N'%秦䶮%'跟 like N'%秦%'查到的结果一样。 既要显示正确又要正确查询解决办法 select * from db_owner.systemMember where memberName like N'%秦䶮%' collate Chinese_PRC_BIN 使用强制定义字符集排序 后因为使用的时linq to sql查询,没法指定字符集排序。 后将单表内但单字段的字符集排序从Chinese_PRC_CI_AS改为了Chinese_PRC_BIN进行查询正确。(此处因为没有用到临时表或跨表的字段匹配查询,所以仅更改了单字段的字符集排序。如果涉及到跨表跨字段匹配或者临时表因统一调整为同一字符集排序)。 扩展字符集相关知识:     解析:Chinese_PRC_BIN ;      

ASP.NET Core中使用EasyCaching作为缓存抽象层

痞子三分冷 提交于 2020-12-22 07:46:46
⒈是什么? 和 CacheManager 差不多,两者的定位和功能都差不多。 EasyCaching主要提供了下面的几个功能 统一的抽象缓存接口 多种常用的缓存Provider(InMemory,Redis,Memcached,SQLite) 为分布式缓存的数据序列化提供了多种选择 二级缓存 缓存的AOP操作(able, put,evict) 多实例支持 支持Diagnostics Redis的特殊Provider ⒉示例(以InMemory为例)   1.安装Nuget包     EasyCaching.InMemory   2.在Startup中配置服务及请求管道 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Threading.Tasks; 5 using EasyCaching.Core; 6 using EasyCaching.InMemory; 7 using Microsoft.AspNetCore.Builder; 8 using Microsoft.AspNetCore.Hosting; 9 using Microsoft.AspNetCore.Http; 10 using Microsoft.AspNetCore.Mvc; 11

ABP数据库的迁移

独自空忆成欢 提交于 2020-12-19 11:31:38
添加表,一(Test)对多(Test1)关系 Test using Abp.Domain.Entities.Auditing; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HuamotecHDIS.Entities { public class Test : FullAuditedEntity { [Required] public bool Enabld { get ; set ; } [Required, MaxLength( 200 )] public byte [] No { get ; set ; } // 一对多 public virtual ICollection<Test1> Test1 { get ; set ; } public Test() { Test1 = new List<Test1> (); } } } View Code Test1 using Abp.Domain.Entities.Auditing; using System; using System

第十节:基于MVC5+Unity+EF+Log4Net的基础结构搭建

妖精的绣舞 提交于 2020-12-19 01:15:02
一. 前言   本节继续探讨一种新的框架搭建模式,框架的结构划分和上一节是相同的,本节IOC框架换成了Unity,并且采用构造函数注入的方式,另外服务层的封装模式也发生了变化,下面将详细的进行探讨。 (一). 技术选型   1. DotNet框架:4.6   2. 数据库访问:EF 6.2 (CodeFrist模式)   3. IOC框架:Unity 5.8.13   4. 日志框架:log4net 2.0.8   5. 开发工具:VS2017 (二). 框架目标   1. 一个项目同时连接 多个相同种类 的数据库,在一个方法中可以同时对多个数据进行操作。   2. 支持多种数据库:SqlServer、MySQL、Oracle,灵活的切换数据库。   3. 抽象成支持多种数据库连接方式:EF、ADO.Net、Dapper。 二. 搭建思路 1. 层次划分   将框架分为:Ypf.Data、Ypf.IService、Ypf.Service、Ypf.DTO、Ypf.Utils、Ypf.AdminWeb 六个基本层(后续还会补充 Ypf.Api层),每层的作用分别为:   ①. Ypf.Data:存放连接数据库的相关类,包括EF上下文类、映射的实体类、实体类的FluentApi模式的配置类。   ②. Ypf.IService:业务接口层,用来约束接口规范。   ③. Ypf

程序员的自我救赎---12.2.3: 虚拟币交易平台(区块链) 下 【C#与以太坊通讯】

[亡魂溺海] 提交于 2020-12-16 13:57:33
《前言》 (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八)监控系统 (九)会员中心 (十) APP版本控制系统 (十一)Winner前端框架与RPC接口规范讲解 (十二)上层应用案例 (十三)总结 虚拟币交易平台(区块链)下 【C#与以太坊通讯】 这一篇,也是区块链代币交易平台的最后一篇博客。所以内容都是基于前面两篇博客的,没有看过前面两篇的建议先过一遍。 12.2.1 :虚拟币交易平台(区块链) 上 【发行区块链代币】 12.2.2: 虚拟币交易平台(区块链) 中 【开发交易所】 说会到终点,我们还是接着代币交易平台的前提往前讲。前面我们讲述了如何基于以太坊发行区块链代币 以及 如何开发一个代币交易平台。 但是关键点是这代币和交易平台如何对接? 我们知道既然在交易平台交易,关于区块链代币的操作就至少有三种: 1,通过交易所创建用户代币钱包。 (注册) 2,客户从钱包客户端转入代币到交易所。(充值) 3,从交易所将代币转出到钱包客户端。 (提币) 其他的操作就是交易所(Web)做的事情,基本就不涉及和区块链之间的交互。今天我们还是以以太坊的测试环境Rinkeby为例。 我们先打开Geth客户端,加载Rinkeby的创始区块,并启动控制台。 geth -

Convert Sum(case) SQL statement to LINQ query in Entity Framework

强颜欢笑 提交于 2020-12-14 06:32:52
问题 Below is my SQL query that I'm looking to convert to LINQ query SELECT ProcessName, SUM(CASE WHEN Status = 'In-Progress' THEN 1 ELSE 0 END) As 'In-Progress', SUM(CASE WHEN Status = 'Success' THEN 1 ELSE 0 END) As 'Completed', Count(CASE WHEN status in ('In-Progress','Success') then 1 end) as Total FROM TableName GROUP BY ProcessName 回答1: The first part is easy. The SQL expression SUM(CASE WHEN condition THEN 1 ELSE 0 END) directly maps to the LINQ Sum(condition ? 1 : 0) . More interesting is