linqpad

EF Core 3.1.1 Avoiding the exception “The data types text and varchar are incompatible in the equal to operator” just as LINQPad 6 does

Deadly 提交于 2021-02-19 08:04:09
问题 I am trying to run this LINQ expression through Entity Framework Core 3.1.1. using (Text3Context text3Context = new Text3Context(_constringText3)) { var aus = text3Context.Ausschreibungen.Where(a => a.InhaltKurzText.Contains(value)).Select(c => c.InhaltKurzText).ToList(); } Unfortunately it throws the exception: "The data types text and varchar are incompatible in the equal to operator" however, when I run the same expression in LINQPad 6: string value = "test"; var aus = Ausschreibungen

Is there a SQLite version of the LinqPad nutshell database

≡放荡痞女 提交于 2021-02-07 09:34:20
问题 I am trying to learn LINQ with LINQPad, but the fact is that I have a notebook. Therefore, I don't want to install SQL Server on it (I am not even conviced that I could do it). Some LINQPAD Examples use a database called nutshell.mdf, I'd like to know if I can find a SQLite version of this database, and where? 回答1: There's no SQLite version, but you can create a SQL CE edition easily enough. SQL CE is fairly lightweight and won't bog down your notebook. LINQPad supports SQL CE: click "Add

.NET斗鱼直播弹幕客户端(2021)

吃可爱长大的小学妹 提交于 2021-01-21 13:00:33
.NET斗鱼直播弹幕客户端(2021) 离之前更新的两篇《.NET斗鱼直播弹幕客户端》已经有一段时间,近期有许多客户向我反馈刚好有这方面的需求,但之前的代码不能用了——但网上许多流传的 Node.js 、 Python 脚本却可以用,这岂能忍?(刚好我终于找回了我的发布密码????)因此我有动力重新对此进行好(xie)好(xie)研(bo)究(ke)。 为何之前的不能用了 重新运行之前的 C# 脚本,发现是在这一行报错的: using var client = new TcpClient(); await client.ConnectAsync("openbarrage.douyutv.com", 8601); // 这里报错 网上查了查,发现斗鱼确实已经 停止 使用 openbarrage.douyutv.com:8601 了。进一步查资料显示,新 url 改成了 danmuproxy.douyu.com ,斗鱼已经统一使用 WebSocket 协议(之前为 TCP 协议),经过进一步对比新协议代码示例,发现协议过程没有任何区别,序列化也依然用的 STT 算法。 私货时间: 我认为斗鱼这样做合理,因为WebSocket性能不差,且不需再为浏览器和第三方接口各自维护两套不同的代码。 具体过程如下: 建立 WebSocket 连接 发送登录请求(可匿名) 加入指定的房间号 每隔45秒

Microsoft.Extensions.DependencyInjection 之三:展开测试

ぃ、小莉子 提交于 2020-11-21 04:27:22
目录 前文回顾 IServiceCallSite CallSiteFactory ServiceProviderEngine CompiledServiceProviderEngine DynamicServiceProviderEngine 测试参数 -m|method -t|target -n|number -c|cache -l|loop 启动测试 测试结果 反射 表达式树 Emit 与表达式差异不大 开销对比 前文回顾 Microsoft.Extensions.DependencyInjection 之一:解析实现 提到了 Microsoft.Extensions.DependencyInjection 包含以下核心组件。 IServiceCallSite 组件实例化上下文,包含许多实现,仅列举其中的 ConstantCallSite , CreateInstanceCallSite , ConstructorCallSite 如下。 ConstructorCallSite 既是 IServiceCallSite 的实现类,又复合引用 IServiceCallSite ,以表达自身参数的构建形式。 组件生命周期也使用 IServiceCallSite 表达,它们既从 IServiceCallSite 继承,也引用 IServiceCallSite 。

BenchmarkDotNet v0.12x新增功能

萝らか妹 提交于 2020-11-19 20:15:10
起因 在看.Net 官方博客 .Net 5性能优化 中,发现测试性能的BenchmarkDotNet版本已经是v0.12.1,然后去看BenchmarkDotNet文档,发现还是有不少新的特性. v0.12.0 支持多个运行时(API改进),增加对.Net 5支持 支持DotNet创建BenchmarkDotNet项目(项目模版) 增加NativeMemoryProfiler(目前仅支持Windows,需要在Nuget管理器中安装BenchmarkDotNet.Diagnostics.Windows包,才可以,内部使用EtwProfiler) 增加ThreadingDiagnoser 增加MemoryDiagnoser 对LINQPad 6进行支持,可以在LINQPad 6进行代码性能测试(LINQPad 要收费版才可以,这里也跳过) 文档快速搜索 v0.12.1 跨平台生成汇编代码 基于事件管道跨平台Profiler 新的API,使用更方便 支持多个运行时,新增.Net 5 <!--新增.Net 5运行时--> <TargetFrameworks>net5.0;netcoreapp3.1;net48</TargetFrameworks> #.netframework 4.8为基准,测试三个版本 .NetFramework 4.8/.Net Core 3.1和.Net 5

.NET 程序员的 Playground :LINQPad

送分小仙女□ 提交于 2020-08-19 23:28:42
如果想执行一个简单的 C# 语句并获得运行结果,通常我们需要做几个步骤才能达成: 打开 Visual Studio 并新建一个控制台项目。 在 Program.cs 中编写代码并保存。 点击运行按钮或者 F5 运行程序并查看结果。 通常来说这并不会产生问题。但如果你和笔者一样为 Visual Studio 安装了各种插件,那么 Visual Studio 的启动时间就会变得很长。在新建项目时,我们必须为这些临时的代码指定名称和保存路径,如果保持默认的名字,就很可能在今后忘记建立这些文件的用途。 使用 LINQPad 可以解决上面的问题。LINQPad 的软件包很小只有二十兆左右,启动速度很快。使用时只需输入想要执行的 C# 语句,并按下 F5 即可: 快捷键 F4 可以打开“查询属性”窗口,在这个窗口中,你可以引用所有在运行时需要的东西,包括:dll、配置文件、json和文本文件等,这些引用的文件将会被复制到输出目录。 同时,LINQPad 也支持直接将 NuGet 包引用到查询中: 也可以将查询保存为一个扩展名为 .linq 的文件,以便复用代码。 语言支持 包括“C# 表达式(C# Expression)”在内,LINQPad 一共支持 4 种语言和 10 种查询类型: C# Expression C# Statement(s) C# Program VB Expression

.NET 程序员的 Playground :LINQPad

☆樱花仙子☆ 提交于 2020-08-14 05:57:57
如果想执行一个简单的 C# 语句并获得运行结果,通常我们需要做几个步骤才能达成: 打开 Visual Studio 并新建一个控制台项目。 在 Program.cs 中编写代码并保存。 点击运行按钮或者 F5 运行程序并查看结果。 通常来说这并不会产生问题。但如果你和笔者一样为 Visual Studio 安装了各种插件,那么 Visual Studio 的启动时间就会变得很长。在新建项目时,我们必须为这些临时的代码指定名称和保存路径,如果保持默认的名字,就很可能在今后忘记建立这些文件的用途。 使用 LINQPad 可以解决上面的问题。LINQPad 的软件包很小只有二十兆左右,启动速度很快。使用时只需输入想要执行的 C# 语句,并按下 F5 即可: 快捷键 F4 可以打开“查询属性”窗口,在这个窗口中,你可以引用所有在运行时需要的东西,包括:dll、配置文件、json和文本文件等,这些引用的文件将会被复制到输出目录。 同时,LINQPad 也支持直接将 NuGet 包引用到查询中: 也可以将查询保存为一个扩展名为 .linq 的文件,以便复用代码。 语言支持 包括“C# 表达式(C# Expression)”在内,LINQPad 一共支持 4 种语言和 10 种查询类型: C# Expression C# Statement(s) C# Program VB Expression

C# 使用 WebBrowser 实现 HTML 转图片功能

两盒软妹~` 提交于 2020-08-10 07:24:22
在 .NET 平台上,我们有多种方式可以将一段 HTML 文本转换为一张图片: HTML Renderer 、 SelectPdf 、 Aspose.Html 等。 在 WinForm 程序中,每一个 System.Windows.Forms.Control 的派生类型均包含一个名为 DrawToBitmap 的方法,该方法可以将控件绘制到一张图片上。WebBrowser 具备显示 HTML 的功能,又因为其从 Control 类型派生,所以包含 DrawToBitmap 方法。我们只需将要在 WebBrowser 上加载要展示的 HTML 并在其 DocumentCompleted 事件中绘制图片即可: public static async Task < Image > HtmlToImage ( String html , int width = 1024 , int height = 768 ) { var taskCompletionSource = new TaskCompletionSource < Image >(); var thread = new Thread (() => { using var browser = new WebBrowser { Width = width , Height = height , ScrollBarsEnabled =

Is it possible to use xUnit with LINQPad?

冷暖自知 提交于 2020-06-26 13:51:08
问题 Is it possible to use xUnit with LINQPad? It would be great to be able to write some tests for concepts being designed in LINQPad first. It's easier than adding yet another ConsoleApp23423894238 just to be able to quickly write some unit tests. 回答1: Possible? Sort of. This is neither a main use case of LINQPad nor of unit testing. Regarding LINQPad, you could use an existing test runner but probably the only ones that could be integrated with LINQPad are console runners. A test runner is not

Microsoft.Extensions.DependencyInjection 之三:反射可以一战(附源代码)

て烟熏妆下的殇ゞ 提交于 2020-04-25 05:27:01
[TOC] 前文回顾 Microsoft.Extensions.DependencyInjection 之一:解析实现 提到了 Microsoft.Extensions.DependencyInjection 包含以下核心组件。 IServiceCallSite 组件实例化上下文,包含许多实现,仅列举其中的 ConstantCallSite , CreateInstanceCallSite , ConstructorCallSite 如下。 ConstructorCallSite 既是 IServiceCallSite 的实现类,又复合引用 IServiceCallSite ,以表达自身参数的构建形式。 组件生命周期也使用 IServiceCallSite 表达,它们既从 IServiceCallSite 继承,也引用 IServiceCallSite 。 CallSiteFactory 当组件需要被实例化时, CallSiteFactory 从维护的 ServiceDescriptor 查找注入方式,对类型注入的组件使用反射解析其构造函数,并递归解析其参数,最后缓存得到的 IServiceCallSite 实例。 ServiceProviderEngine ServiceProviderEngine 是抽象类,内部依赖 CallSiteRuntimeResolver