linq

.net mvc中SignalR的使用配置

爱⌒轻易说出口 提交于 2020-08-04 12:06:25
安装Microsoft.AspNet.SignalR(使用的版本2.4.1) 新建Hubs文件夹:Hub的接口和实现 namespace SingralRedis.Hubs { interface IChatHub { // 服务器下发消息到各个客户端 void SendChat( string id, string name, string message); // 用户上线通知 void SendLogin( string id, string name); // 用户下线通知 void SendLogoff( string id, string name); // 接收客户端发送的心跳包并处理 void TriggerHeartbeat( string id, string name); } } IChatHub 提供五个事件:OnConnected, OnReconnected, OnReceived, OnError 和 OnDisconnect. 这里只 override OnConnected,看需要重载 using Microsoft.AspNet.SignalR; using System; using System.Collections.Generic; using System.Linq; using System.Timers; namespace

How can I use Left join in linq that we use in sql?

纵饮孤独 提交于 2020-08-02 09:41:06
问题 How can I use Left join in Linq that I write SQL query? select p.Name, p.Family, E.EmployTypecode, E.employtypeName, E.EmplytyppeTye from personnel as p left join Employee as E on E.EmployTypecode = p.EmployTypecode 回答1: Use Join keyword instead of Left join and it is mandatory to use "INTO" keyword and "DefaultIfEmpty()" method as right table returns null value. var query = from p in personnel join e in Employee on p.EmployTypecode equals e.EmployTypecode into t from nt in t.DefaultIfEmpty()

Is there an equivalent of “None()” in LINQ?

倖福魔咒の 提交于 2020-08-01 09:20:49
问题 I've been running into situations where I feel I'm lacking a LINQ extension method which effectivelly checks if there is no match of the specified predicate in a collection. There is Any and All , but if I for instance use the following code: if (Objects.All(u => u.Distance <= 0)) This returns true if all the objects in the collection are 0 or less yards away. if (Objects.Any(u => u.Distance <= 0)) This returns true if there is at least one object in the collection which is 0 or less yards

CSharp 超大文件上传和断点续传的实现

大城市里の小女人 提交于 2020-07-29 09:14:23
ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现。 下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压。 ASP.NET页面设计:TextBox和Button按钮。 TextBox中需要自己受到输入文件夹的路径(包含文件夹),通过Button实现选择文件夹的问题还没有解决,暂时只能手动输入。 两种方法:生成rar和zip。 1.生成rar using Microsoft.Win32; using System.Diagnostics; protected void Button1Click(object sender, EventArgs e) { RAR(@"E:\95413594531\GIS", "tmptest", @"E:\95413594531\"); } /// /// 压缩文件 /// /// 需要压缩的文件夹或者单个文件 /// 生成压缩文件的文件名 /// 生成压缩文件保存路径 /// protected bool RAR(string DFilePath, string DRARName,string DRARPath) { String therar; RegistryKey theReg; Object theObj; String theInfo;

LINQ在特定属性上的Distinct()

孤人 提交于 2020-07-29 03:03:42
问题: I am playing with LINQ to learn about it, but I can't figure out how to use Distinct when I do not have a simple list (a simple list of integers is pretty easy to do, this is not the question). 我正在使用LINQ进行学习,但是当我没有简单的列表时(我很容易做到简单的整数列表,这不是问题),我无法弄清楚如何使用Distinct。 What I if want to use Distinct on a list of an Object on one or more properties of the object? 如果要在对象的 一个 或 多个 属性的对象列表上使用 Distinct ,该怎么办? Example: If an object is Person , with Property Id . 示例:如果一个对象是 Person ,具有Property Id 。 How can I get all Person and use Distinct on them with the property Id of the object? 如何获取所有Person并在其上使用

深入理解 EF Core:EF Core 读取数据时发生了什么?

和自甴很熟 提交于 2020-07-28 20:42:56
阅读本文大概需要 11 分钟。 原文: https://bit.ly/2UMiDLb 作者:Jon P Smith 翻译:王亮 声明:我翻译技术文章不是逐句翻译的,而是根据我自己的理解来表述的。其中可能会去除一些本人实在不知道如何组织但又不影响理解的句子。 本文将为你详细描绘 EF Core 从数据库中读取数据的“幕后”视图。我将揭开两种数据库读取方式的面纱:一个是普通的查询,另一个是使用 AsNoTracking 方法的非跟踪查询。我还将通过一个实验来演示我是如何解决我的一个客户遇到的性能问题。 我假设你对 EF Core 已经有了一定的认识,但在深入学习之前,我们先来了解一下如何使用 EF Core,以确保我们已经掌握了一些基本知识。这是一个“深入研究”的课题,所以我准备大量的技术细节,希望我的描述方式你能理解。 本文是“深入理解 EF Core”系列中的第一篇。以下是本系列文章列表: 当 EF Core 从数据库读取数据时发生了什么?(本文) 当 EF Core 写入数据到数据库时发生了什么?(敬请期待) 概要 EF Core 有两种方法从数据库中读取数据(也称为查询):普通 LINQ 查询和包含 AsNoTracking 方法的非跟踪 LINQ 查询。 这两种方法查询的返回类(被称为实体类),它连接的其它的实体类(即所谓的导航属性)也被同时加载

在ef core中使用postgres数据库的全文检索功能实战

元气小坏坏 提交于 2020-07-28 20:12:36
起源 之前做的很多项目都使用solr/elasticsearch作为全文检索引擎,它们功能全面而强大,但是对于较小的项目而言,构建和维护成本显然过高,尤其是从关系数据库/文档数据库到全文检索引擎的数据同步工作非常繁琐,且容易出错。 记得很久以前就知道postgresql数据库内置全文检索,最近发现这个数据库越来越火,于是就又研究了一番,欣喜的发现居然支持ef core,于是对其进行了一些研究,并整理心得如下。 前提 本文假设读者熟悉entity framework core的基本概念和基本使用。 目的 建立dotnet core项目,使用postgres数据库和ef core,实现常见的全文检索功能,包括 建立索引字段 基本查询 查询结果排名 查询结果高亮显示 步骤1 - 新建项目并引入packages < Project Sdk ="Microsoft.NET.Sdk" > < PropertyGroup > < OutputType > Exe </ OutputType > < TargetFramework > netcoreapp3.1 </ TargetFramework > </ PropertyGroup > < ItemGroup > < PackageReference Include ="EFCore.NamingConventions" Version =

1.NetDh框架之数据库操作层--Dapper简单封装,可支持多库实例、多种数据库类型等(附源码和示例代码)

纵然是瞬间 提交于 2020-07-28 19:03:49
1.NetDh框架开始的需求场景 需求场景: 1.之前公司有不同.net项目组,有的项目是用SqlServer做数据库,有的项目是用Oracle,后面也有可能会用到Mysql等,而且要考虑后续扩展成主从库、多库的需求。( 其实不管有没有这个需求,Dapper的封装应当像NetDh框架里封装的那样使用) ; 2.涉及日志操作类的设计,需要记录用户操作日志、记录系统异常日志等; 3.涉及缓存操作类的设计,这点不用需求都应该当考虑,不管是小项目的内存缓存还是大项目中的Redis/Memcache等; 4.涉及二次开发模式简单的设计。因为多个客户需要同一个项目产品,但是客户之间对该产品的需求点又有些不一样。 本文先讲为了第1点需求而封装的数据库操作类,其它三点在接下来文章中也会介绍。 2.ORM框架Dapper介绍 Dapper是轻量级高效的框架,它高效原因是利用 Emit技术 + 各种解析缓存 + DataReader 。 Dapper可以在所有Ado.net Providers下工作,包括SQL Server, Oracle, MySQL , SQLite, PostgreSQL, sqlce, firebird 等,这些数据库操作类都有实现IDbConnection接口。你看源码会发现,Dapper提供的public方法大都是对IDbConnection的扩展。

LINQ相当于IEnumerable的foreach <T>

大兔子大兔子 提交于 2020-07-28 18:31:02
问题: I'd like to do the equivalent of the following in LINQ, but I can't figure out how: 我想在LINQ中执行以下操作,但是我不知道如何操作: IEnumerable<Item> items = GetItems(); items.ForEach(i => i.DoStuff()); What is the real syntax? 真正的语法是什么? 解决方案: 参考一: https://stackoom.com/question/qB4/LINQ相当于IEnumerable的foreach-T 参考二: https://oldbug.net/q/qB4/LINQ-equivalent-of-foreach-for-IEnumerable-T 来源: oschina 链接: https://my.oschina.net/stackoom/blog/4336721